MacPorts

MacPorts
발표일2002년 (2002)
안정화 버전
2.12.6 위키데이터에서 편집하기 / 2026년 8월 25일(2개월 전)(2026년 8월 25일)
저장소
프로그래밍 언어Tcl 및 C
운영 체제macOS, 다윈
플랫폼IA-32, X86-64, 파워PC, ARM
언어영어
종류패키지 관리자
라이선스BSD
웹사이트www.macports.org 위키데이터에서 편집하기

MacPorts(과거 이름: DarwinPorts)는 macOS 및 다윈을 위한 패키지 관리자이다. 이는 다른 오픈 소스 소프트웨어의 설치를 간소화하는 것을 목표로 하는 오픈 소스 소프트웨어 프로젝트이다. 기능면에서 Fink 및 BSD 포트 컬렉션과 유사하다.

MacPorts는 파워PC, 인텔 기반, 그리고 애플 실리콘 버전의 macOS를 위한 유니버설 바이너리를 지원하지만, 파워PC 설치 환경에서 인텔 맥으로 이주할 경우 모든 설치된 포트를 재설치해야 한다.

사용법

소프트웨어 업데이트

설치된 소프트웨어 업데이트를 돕는 port 명령어의 세 가지 주요 사용 모드가 있다.

  • sync는 로컬 포트 트리를 업데이트한다. 설치된 패키지를 업그레이드하지는 않으며, 대신 새 소프트웨어와 업데이트된 소프트웨어에 대한 정보를 가져온다. 이는 brew update 또는 apt update와 기능적으로 유사하다.
  • selfupdate는 sync와 동일한 기능을 수행하지만 MacPorts 시스템 자체도 업데이트한다. 대부분의 경우, 단순히 sync를 실행하는 것보다 이 명령어를 사용하는 것이 권장되며, MacPorts를 사용하기 전에 매번 실행하는 것이 좋다.
  • upgrade는 설치된 포트와 그 의존성들을 로컬 포트 트리에서 찾을 수 있는 최신 버전으로 업그레이드한다. 이는 apt upgrade와 기능적으로 유사하다.

예를 들어, 흔히 하는 작업 중 하나는 오래된 포트를 업데이트하는 것이다. 이는 다음 명령어를 실행하여 수행할 수 있다:

sudo port selfupdate
sudo port upgrade outdated

MacPorts는 and, or, not과 같은 논리 연산뿐만 아니라 글로브 패턴(기본 활성화) 및 정규 표현식(--regex를 통해 활성화)을 지원한다. 예를 들어, 모든 PHP 버전을 제외하고 오래된 포트를 업데이트하려면 명령어를 다음과 같이 변경한다:

sudo port selfupdate
sudo port upgrade outdated and not php*

소프트웨어 설치

사용자는 install 모드를 통해 설치하고자 하는 하나 이상의 패키지를 지정할 수 있으며, MacPorts는 해당 패키지와 그 의존성을 설치하려고 시도한다. 예를 들어, 리브레오피스와 Texmaker는 다음 명령어를 실행하여 설치할 수 있다:

sudo port install libreoffice texmaker

이는 로컬 포트 트리에 표시된 최신 버전을 설치한다. 사전에 selfupdate를 실행하면 다운로드한 패키지가 MacPorts의 최신 버전임을 보장할 수 있다.

변형 (Variants)

변형(Variants)은 포트를 설치할 때 호출할 수 있는 다양한 옵션을 제공한다. 일반적인 작업으로는 의존성 추가/제거 및 빌드 인수 변경이 포함된다. 이들은 모든 사용자에게 반드시 필요한 것은 아닐 수 있지만, 일부 사용자에게는 유용한 추가 기능을 제공한다.

예를 들어, Youtube-dl 포트는 기본적으로 활성화된 FFmpeg 변형을 제공한다. 이 변형은 두 개의 추가 의존성을 추가하는 대신 오디오 추출을 가능하게 한다. 변형은 + 또는 - 기호를 사용하여 포함하거나 제거할 수 있으므로, 다음 명령어를 실행하여 ffmpeg 변형을 비활성화할 수 있다:

sudo port install youtube-dl -ffmpeg

여러 변형을 공백으로 구분하여 나열할 수 있다. 예를 들어, apache2 포트에서 기본 prefork MPM을 비활성화하고 worker MPM을 선호하도록 설정할 수 있다:

sudo port install apache2 -preforkmpm +workermpm

포트의 변형은 port variants 패키지명을 실행하거나 MacPorts 웹사이트에서 해당 포트를 검색하여 확인할 수 있다.

프론트엔드

MacPorts 포트 사이트의 홈페이지

웹사이트

MacPorts 포트 웹사이트는 2019년 구글 서머 오브 코드 기간 동안 구현되었으며, 2020년 같은 프로그램을 통해 주요 UI 개선이 이루어졌다. 이 사이트는 설치 통계 및 빌드 이력과 같은 개별 포트에 대한 정보를 표시한다. 이러한 통계는 API를 통해서도 제공된다. 사용자는 포트가 업데이트될 때 알림을 받기 위해 선택적으로 로그인할 수 있다.

프로젝트에 대한 정보와 설치 방법을 제공하는 별도의 MacPorts 홈페이지도 존재한다.

역사

애플의 유닉스 팀을 이끌며 MacPorts의 주요 창시자 중 한 명인 조던 허바드

MacPorts는 2002년 랜던 풀러, 케빈 밴 벡텐, 그리고 조던 허바드를 포함한 여러 애플 직원들의 참여로 시작되었다. 원래는 다윈과 FreeBSD 포트에서 이름을 따온 DarwinPorts로 알려져 있었다. 이 프로젝트는 오픈다윈 프로젝트의 일환으로 시작되었으며, macOS와 다윈 사용자가 유닉스 소프트웨어를 설치하도록 돕는 것을 목표로 했다.

오픈다윈은 2006년에 문을 닫았다. 이후 DarwinPorts는 애플이 지원하지 않는 서드파티 프로젝트를 위해 애플이 생성하고 유지 관리하는 오픈 소스 호스팅 서비스인 Mac OS Forge에서 호스팅되었다. 프로젝트가 macOS에 중점을 두고 있음을 나타내기 위해 이름이 MacPorts로 변경되었다.

2016년 애플이 Mac OS Forge를 폐쇄했을 때, 프로젝트는 깃허브로 이전했다. 이 변경의 일환으로 깃이 새로운 버전 관리 시스템으로 사용되었으나, 티켓 관리 시스템으로는 깃허브 이슈보다 Trac이 계속 선호되었다.

버전 1.0은 2005년 4월 28일에 릴리스되었다. 2005년 12월 프로젝트는 3,000개의 포트를 돌파하는 이정표를 세웠다. 당시 패키지 설치는 소스 코드를 다운로드하여 최종 사용자의 기기에서 컴파일하는 방식을 포함했다. 2011년에 릴리스된 버전 2.0은 사전 빌드된 이진 아카이브에 대한 지원을 도입했다. 기본적으로 포트는 사용 가능한 경우 사전 빌드된 이진 아카이브를 사용하여 설치되고, 그렇지 않은 경우 소스에서 빌드된다. 2023년 5월 기준으로, MacPorts는 33,600개 이상의 포트를 보유하고 있으며 커뮤니티로부터 최선의 노력을 다한 지원을 받을 수 있다.

구현

MacPorts는 운영체제 위에 소프트웨어를 설치하여, 사전 설치된 패키지의 최신 버전을 제공하거나 macOS에 포함되지 않은 소프트웨어를 제공한다. 이는 운영체제의 일부인 APT 및 DNF와 같은 다른 패키지 관리 시스템과는 대조적이다. 이러한 이유로 MacPorts는 때때로 오버레이 배포판으로 알려져 있다. 다른 예로는 Fink와 홈브루가 있다.

소프트웨어를 /usr/local에 설치하는 FreeBSD 포트 컬렉션과는 대조적으로, MacPorts는 데이터를 기본적으로 /opt/local에 저장하지만, MacPorts를 소스에서 컴파일할 때 이를 수정할 수 있다. 이 변경에 대한 이유는 다른 패키지 시스템이 MacPorts가 설치한 것을 덮어쓰거나 그 반대의 상황이 발생할 수 있기 때문이다. 전용 디렉토리는 이 문제를 해결하는 데 도움이 된다. Fink도 데이터를 기본적으로 /sw에 설치하는 비슷한 방식을 따른다.

이진 아카이브

Buildbot은 사용자가 로컬에서 패키지를 컴파일할 필요가 없도록 포트를 미리 빌드하는 데 사용된다. 이 결과물을 이진 아카이브라고 하며 설치에 필요한 시간을 줄이는 데 도움이 된다. 홈브루와 유사하게, MacPorts는 서로 다른 운영체제 버전과 아키텍처에 대해 서로 다른 빌더를 가지는 방식을 취한다. 그러나 이진 파일이 빌드에 실패하거나 포트의 라이선스가 이진 배포를 허용하지 않는 경우 때때로 로컬에서 소스로 빌드해야 할 수도 있다. 이진 파일이 빌드되지 않은 경우, MacPorts 웹사이트의 해당 개별 포트 페이지에 명시되며 관리자에게 알림이 전송된다. 또한 전용 활동 페이지에서 최근 Buildbot 이벤트를 볼 수도 있다.

이진 아카이브는 사용자가 소스에서 포트를 빌드할 때마다 로컬에서 생성된다. 또한 sudo port archive 패키지명을 실행하여 수동으로 생성할 수도 있다.

포트파일 (Portfiles)

MacPorts는 포트를 빌드하는 데 필요한 명령어를 포트 설명 파일, 즉 포트파일(portfile)에 저장한다. 이는 AUR이 PKGBUILD라고 알려진 셸 스크립트를 사용하는 방식이나, 홈브루가 formula로서 루비 스크립트를 사용하는 방식과 유사하다. 포트파일은 Tcl 통역기에 접근할 수 있는 완전한 Tcl 프로그램이다. 이들은 속성을 정의하기 위해 간단한 키-값 쌍 옵션을 사용한다.

MacPorts는 포트 설명을 작성하는 데 Tcl이라는 실제 스크립트 언어를 사용합니다. 이는 포트 작성자에게 더 복잡한 소프트웨어를 처리할 수 있는 훨씬 더 많은 유연성을 제공하며, 액션 훅(페치 전/후, 빌드, 설치 등)이라는 전체 개념이 MacPorts에서 (FreeBSD와 비교하여) 훨씬 더 깔끔합니다.

예를 들어, 다음은 Hashcat의 포트파일이다:

# -*- coding: utf-8; mode: _tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- vim:fenc=utf-8:ft=tcl:et:sw=2:ts=2:sts=2

PortSystem              1.0
PortGroup               github 1.0
PortGroup               makefile 1.0

github.setup            hashcat hashcat 6.2.3 v
github.tarball_from     archive

categories              security
license                 MIT
platforms               darwin
maintainers             @gaming-hacker openmaintainer

description             World's fastest and most advanced password recovery utility.

long_description        hashcat is the world's fastest and most advanced \
                        password recovery utility, supporting five unique modes \
                        of attack for over 200 highly-optimized hashing algorithms. \
                        hashcat currently supports CPUs, GPUs, and other hardware \
                        accelerators on Linux, Windows, and macOS, and has \
                        facilities to help enable distributed password cracking

homepage                https://hashcat.net/hashcat/

build.target            {}

checksums               rmd160  8bb501834a320aaac3de149c5ab39c2eb89ee968 \
                        sha256  c0be1c6693ee1f35c7bef1f79bf9e30a954f717ef42d00e37787aaeff3271e51 \
                        size    6222424

각 포트파일에는 포트파일을 통해 수동으로 설정할 수 있는 사전 정의된 단계가 있다. 이에는 다음이 포함된다:

port info hashcat의 출력. 포트파일에서 포트에 대한 정보를 제공한다.

Fetch(가져오기)

먼저, MacPorts는 업스트림에서 포트에 관련된 모든 파일을 검색하고 다운로드한다. 이를 distfiles라고 한다. Hashcat의 경우, 이 파일들은 깃허브에서 검색된다. 이 파일들은 설치가 완료되면 임시 빌드 파일과 함께 제거된다.

Checksum(체크섬)

체크섬은 파일마다 다르기 때문에 항상 포트파일 내에 정의된다. 다운로드한 파일의 체크섬은 포트파일의 것과 비교하여 일치하는지 확인된다.

Hashcat은 하나의 압축 파일만 다운로드되므로 포트파일에는 하나의 체크섬만 필요하다.

Patch(패치)

때때로, MacPorts를 통해 설치 가능하게 만들려면 코드를 수정해야 할 수 있다. 이는 기본적으로 잘못된 위치에 설치되는 등 다양한 이유 때문일 수 있다. 패치 파일은 가독성 있는 형식으로 소스 코드를 수정하는 데 사용될 수 있다.

위의 포트파일에서 Hashcat은 설치가 작동하기 위해 코드 변경이 필요하지 않다. 따라서 패치 파일이 필요하지 않다. 패치가 필요할 때는 패치 파일이 포트파일과 함께 저장되며, 다음과 같이 참조된다(Wget의 예):

patchfiles              prefix.patch

Configure(설정)

프로젝트의 Configure 스크립트는 빌드 프로세스를 준비하기 위해 실행된다. 이 과정의 일부는 필요한 라이브러리가 존재하는지 결정하는 것을 포함한다. Configure 스크립트가 없는 포트의 경우, 이 단계(필요한 경우 다른 단계도)를 비활성화할 수 있다.

Configure 단계가 포트파일에 참조되어 있지 않으므로, Hashcat은 MacPorts에 의해 정의된 기본 Configure 설정을 사용한다. 이는 ./configure를 통해 Configure 스크립트를 실행하는 것을 포함한다.

MacPorts 포트 웹사이트의 Hashcat 포트에 대한 정보. 통계를 제외하고 이 정보는 포트파일에서 검색된다.

Build(빌드)

포트파일의 명령어는 포트를 빌드하는 데 사용된다. 실행되는 명령어는 언어에 따라 달라질 수 있다.

Hashcat의 포트파일은 이를 Makefile 프로젝트로 처리해야 함을 보여준다. 따라서 make를 실행하여 빌드된다.

Test(테스트)

일부 포트는 빌드가 성공했는지 확인하기 위해 테스트를 정의한다. 이는 사용자가 port test 패키지명을 실행할 때만 실행되는 선택적 단계이다. 따라서 포트를 설치할 때는 실행되지 않는다.

이 Hashcat 포트는 테스트 단계를 정의하지 않았다. 정의된 경우, 다음과 같이 보일 수 있다(이미지매직의 예):

test.run                    yes
test.target                 check
test.env                    DYLD_LIBRARY_PATH=${worksrcpath}/magick/.libs

Destroot

Destroot 단계는 빌드된 파일을 올바른 위치로 옮기는 첫 번째 단계이다. MacPorts는 파일을 올바른 위치(설치)에 배치하기 전에 중간 위치(destroot)로 설치를 준비하는 방식을 취한다. 이 방식의 한 가지 장점은 생성된 파일을 기록하기 쉽고, 깔끔하게 제거(uninstall)할 수 있다는 것이다.

예를 들어, 일반적으로 /opt/local/lib/libfoo.a로 설치될 파일은 destroot 단계 동안 /tmp/stage/opt/local/lib/libfoo.a로 먼저 설치되어 상대 디렉토리 구조를 유지할 수 있다.

Hashcat의 경우, 이는 make install을 실행하여 수행되며, 여기서 인수(DESTDIR) 중 하나가 임시로 파일을 저장할 위치를 지정한다.

대부분의 시나리오에서 아래 단계들만이 사용자의 기기에서 발생한다는 점에 유의해야 한다. 포트의 이진 파일이 미리 빌드되어 로컬에서 소스로 빌드할 필요가 없기 때문이다.

Install(설치)

Destroot된 파일들은 안전하게 아카이브된다. 이 파일들은 아직 활성화되지 않았으므로, 동일한 포트의 여러 다른 버전이 서로 간섭하지 않고 아카이브될 수 있다.

Activate(활성화)

포트를 활성화할 때 destroot 디렉토리의 파일들은 올바른 위치로 이동한다. 이는 파일들을 사용자에게 접근 가능하게 만들어 설치 프로세스를 완료한다.

다른 버전의 포트를 사용하고 싶다면, 현재 버전을 비활성화하고 새 버전을 활성화할 수 있다. 이는 아카이브된 파일에서 쉽게 다시 활성화할 수 있으므로 이전 포트를 제거하지 않는다.

포트를 업그레이드할 때, MacPorts는 안전 기능으로 현재 버전을 비활성화하지만 제거하지는 않는다. 이는 업데이트가 파괴적인 변경을 일으킬 경우 사용자가 쉽게 이전 버전으로 되돌릴 수 있도록 한다.

개발

MacPorts 미팅 2018 배지
슬로베니아 보히니(Bohinj) 스카우트 센터에서 열린 2019년 미팅의 MacPorts 개발자들

패키지는 포트파일 내에 언급된 개별 관리자의 책임이다. 그들은 포트를 업데이트하고 필요한 경우 버그 수정을 적용해야 한다. 포트파일을 수정하려는 사람은 변경 사항을 적용하기 전에 관리자에게 알려야 하지만, 사소한 수정의 경우에는 항상 요구되지는 않는다.

누구나 일반적으로 풀 리퀘스트를 통해 MacPorts에 기여할 수 있으며, 기여자는 관리자로서 좋은 기록을 쌓은 후 커밋 권한을 신청할 수 있다. 프로젝트 매니저로 알려진 MacPorts 구성원 팀이 프로젝트를 이끌고 조정하는 데 도움을 준다.

2016년부터 가끔 1년에 한 번 미팅이 열린다. 미팅은 보통 슬로베니아에서 열리며, MacPorts 구성원들이 향후 개발을 작업할 수 있도록 한다.

데이터 수집

기본적으로 MacPorts는 어떤 통계도 수집하지 않는다. 그러나 사용자는 선택적으로 sudo port install mpstats를 실행하여 정보를 제출할 수 있다. 이는 어떤 포트가 설치되었는지와 다양한 시스템 속성에 대한 세부 정보를 일주일에 한 번 전송한다. 이 정보는 지원할 하드웨어를 결정하고 새로운 MacPorts 릴리스가 얼마나 빨리 채택되는지 이해하는 데 사용된다.

사용자는 MacPorts 웹사이트에서 분석 데이터를 볼 수 있다.

같이 보기

각주

  1. ↑ “MacPortsHistory”. 2018년 5월 18일에 원본 문서에서 보존된 문서. 2015년 8월 24일에 확인함.
  2. ↑ “MacPorts 2.12.6 now available”. 2026년 8월 25일. 2026년 9월 12일에 확인함.
  3. ↑ Mark Weinem 편집 (2007년 10월 17일). “Jordan K. Hubbard: The invention of the FreeBSD Ports system, its drawbacks and the merits of MacPorts”. 《10 years of Pkgsrc — pkgsrc and the concepts of package management 1997-2007 (part 1)》. NetBSD. 2014년 4월 21일에 원본 문서에서 보존된 문서. 2019년 8월 7일에 확인함.
  4. ↑ “DarwinPorts project announces New Hosting and New Name”. 《darwinports.opendarwin.org (archived)》. 2006년 8월 7일. 2007년 2월 22일에 원본 문서에서 보존된 문서. 2007년 3월 5일에 확인함.
  5. ↑ “Mac OS X:Build from source:MacPorts – Gramps”. 《www.gramps-project.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  6. ↑ “MacPorts – 2020 – Google Summer of Code Archive” (영어). 《summerofcode.withgoogle.com》. 2020년 3월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  7. ↑ “Does MacPorts work on Apple Silicon? – Does It ARM” (영어). 《doesitarm.com》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  8. ↑ “Install and Testing MacPorts on an M1 Mac” (미국 영어). 《RickMakes》. 2020년 12월 17일. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  9. ↑ “Migrating a MacPorts install to a new major OS version or CPU architecture”. MacPorts. 2020년 11월 9일에 원본 문서에서 보존된 문서. 2013년 5월 27일에 확인함.
  10. 1 2 “3.1.3. port sync”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  11. 1 2 “3.1.2. port selfupdate”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  12. 1 2 3 Rider, Stephen. “MacPorts Cheat Sheet”. 《kapeli.com》. 2021년 10월 19일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  13. ↑ “3.1.18. port upgrade”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  14. ↑ “3.3.3. Upgrading Outdated Ports”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  15. 1 2 Parker, Shawn (2009년 7월 14일). “Excluding packages from MacPorts operations” (미국 영어). 《The Gippy Pages》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  16. ↑ “3.1.7. port search”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  17. ↑ “3.1.11. port install”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  18. ↑ “Using MacPorts” (영어). 《University of Michigan – Knowledge Base》. 2020년 5월 27일. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  19. ↑ “4.4. Port Variants”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  20. ↑ “youtube-dl | MacPorts”. 《ports.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  21. 1 2 “macports-ports/Portfile at master · macports/macports-ports” (영어). 《GitHub》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  22. 1 2 “3.2. Port Variants”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  23. 1 2 “Ports | MacPorts”. 《ports.macports.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  24. 1 2 Blog, Arjun Salyan's. “GSoC'19: Wrapping up the Project” (영어). 《arjunsalyan.com》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  25. 1 2 Blog, Arjun Salyan's. “Google Summer of Code 2020” (영어). 《arjunsalyan.com》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  26. ↑ Miklavec, Mojca (2021년 7월 19일). “New ports.macports.org website”. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  27. ↑ “Api Root – Django REST framework”. 《ports.macports.org》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  28. ↑ “The MacPorts Project – Home”. 《www.macports.org》. 2021년 2월 6일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  29. 1 2 “10 years of pkgsrc – pkgsrc and the concepts of package management 1997-2007 (part 1)”. 《www.netbsd.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  30. ↑ Cao (2017년 2월 24일). “The Mac Observer Interview with Jordan Hubbard” (미국 영어). 《FreeBSDNews.com》. 2021년 8월 7일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  31. 1 2 “MacPortsHistory – MacPorts”. 《trac.macports.org》. 2018년 5월 18일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  32. ↑ “MacPorts 101”. 《www.astrobetter.com》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  33. ↑ “Mac OS Forge”. 2010년 8월 20일에 원본 문서에서 보존된 문서. 2010년 8월 17일에 확인함.
  34. ↑ “MacPorts” (영어). 《GitHub》. 2021년 8월 10일에 원본 문서에서 보존된 문서. 2021년 8월 5일에 확인함.
  35. ↑ Schmidt, Ryan (2016년 8월 19일). “Goodbye Mac OS Forge, hello GitHub”. 《lists.macports.org》. 2021년 12월 2일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  36. ↑ Markus Weissmann (2005년 4월 28일). “DarwinPorts v1.0”. 《darwinports.opendarwin.org (archived)》. 2006년 6월 29일에 원본 문서에서 보존된 문서. 2007년 3월 5일에 확인함.
  37. ↑ “3000 ports landmark”. 《darwinports.opendarwin.org (archived)》. 2005년 12월 17일. 2006년 6월 29일에 원본 문서에서 보존된 문서. 2007년 3월 5일에 확인함.
  38. ↑ Joshua Root (2011년 7월 22일). “MacPorts 2.0.0 has been released” (메일링 리스트). 《MacPorts-announce》. 2019년 7월 8일에 원본 문서에서 보존된 문서. 2019년 8월 17일에 확인함.
  39. ↑ Joshua Root (2012년 5월 11일). “Prebuilt archives available for Lion” (메일링 리스트). 《MacPorts-announce》. 2019년 2월 16일에 원본 문서에서 보존된 문서. 2019년 3월 1일에 확인함.
  40. ↑ “Search ports | MacPorts”. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 5일에 확인함.
  41. ↑ “The MacPorts Project – Contact Us”. 《www.macports.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 5일에 확인함.
  42. ↑ “Mailman 3 [Linux-SIG] Draft PEP: Graceful cooperation between external and Python package managers – Linux-sig – python.org” (영어). 《mail.python.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  43. ↑ “Chapter 4. Installing Applications: Packages and Ports”. 2021년 9월 22일에 원본 문서에서 보존된 문서. 2021년 9월 7일에 확인함.
  44. ↑ “5.2. Global Variables”. 《guide.macports.org》. 2021년 9월 26일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  45. ↑ “Install MacPorts”. 《guide.macports.org》. 2018년 6월 12일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  46. ↑ “FAQ – MacPorts”. 《trac.macports.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  47. ↑ “Fink – Home”. 《www.finkproject.org》. 2023년 2월 22일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  48. ↑ “Package Management” (영어). 《Ubuntu》. 2023년 2월 22일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  49. ↑ “Bottles (Binary Packages)”. 《Homebrew Documentation》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  50. ↑ “All Builds | MacPorts”. 《ports.macports.org》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  51. 1 2 “3.4.1. Binary Archives”. 《guide.macports.org》. 2018년 6월 12일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  52. ↑ Bharati, Rajdeep (2019년 8월 26일). “MacPorts-Buildbot GSoC Report” (영어). 《Medium》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  53. ↑ “4.8. MacPorts' buildbot”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  54. ↑ “Buildbot”. 《build.macports.org》. 2021년 8월 8일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  55. ↑ “Chapter 4. Portfile Development”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  56. ↑ “PKGBUILD – ArchWiki”. 《wiki.archlinux.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  57. ↑ “Formula Cookbook”. 《Homebrew Documentation》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  58. 1 2 3 4 5 “5.3. Port Phases”. 《guide.macports.org》. 2021년 9월 26일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  59. ↑ “ESO – Using the MacPorts Pipeline Repository”. 《www.eso.org》. 2021년 8월 7일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  60. ↑ “3.1.8. port info”. 《guide.macports.org》. 2018년 6월 12일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  61. ↑ “5.9.2. PortGroup github”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  62. ↑ “4.5.2. Creating Source Code Patches”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  63. ↑ “macports-ports/Portfile at 388977d9088455ede9fe4cc3a13af48e9c3ab067 · macports/macports-ports” (영어). 《GitHub》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  64. ↑ “5.3.7. Configure Phase Keywords”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  65. ↑ “macports-ports/Portfile at a4fb1ec6494bd176876b1637fa9f000e08615f96 · macports/macports-ports” (영어). 《GitHub》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  66. ↑ “DESTDIR (GNU Coding Standards)”. 《www.gnu.org》. 2021년 8월 4일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  67. ↑ “3.4. Port Binaries”. 《guide.macports.org》. 2021년 9월 26일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  68. ↑ “MacOS – How to download pre-built binaries from MacPorts without installing – iTecTec”. 《itectec.com》. 2021년 8월 7일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  69. 1 2 “6.3. Port Images”. 《guide.macports.org》. 2021년 12월 30일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  70. ↑ “3.3.4. Removing Inactive Version(s) of Upgraded Port(s)”. 《guide.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 6일에 확인함.
  71. 1 2 “Meetings/MacPortsMeeting2019 – MacPorts”. 《trac.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  72. ↑ “NewCommittersGuide – MacPorts”. 《trac.macports.org》. 2021년 4월 20일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  73. ↑ “4.2. Creating a Portfile”. 《guide.macports.org》. 2018년 6월 12일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  74. ↑ “7.6. MacPorts Membership”. 《guide.macports.org》. 2018년 6월 12일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  75. ↑ “The MacPorts Project Team”. 《trac.macports.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 7일에 확인함.
  76. ↑ “Meetings – MacPorts”. 《trac.macports.org》. 2021년 8월 6일에 원본 문서에서 보존된 문서. 2021년 8월 8일에 확인함.
  77. ↑ “FAQ – Statistics | MacPorts”. 《ports.macports.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 5일에 확인함.
  78. ↑ “Statistics | MacPorts”. 《ports.macports.org》. 2021년 8월 5일에 원본 문서에서 보존된 문서. 2021년 8월 5일에 확인함.

외부 링크