MacPorts 의 디자인 선택은 의도적. 각각이 격리, 컨트롤, 또는 audit 가능성 위해 편의 거래 — 그리고 각각 알 만한 가치 있는 이름이 있음.
Variants 가 가장 많이 쓰이는 개념. port 의 Portfile (Homebrew formula 의 MacPorts 등가물) 에 선언된 빌드 타임 스위치. 어떤 건 상호 배타적 (+darwin vs +universal); 어떤 건 자유롭게 stack (+python312 +lua +cscope). install 한 variant set 이 패키지의 정체성 일부가 됨 — vim +python312 와 vim +ruby 동시 install 가능, sudo port activate 로 active 전환.
샌드박스 빌드. MacPorts 가 port 컴파일할 때 빌드는 trace 샌드박스 안에서 돌면서 모든 파일시스템 접근 모니터링. port 의 빌드 스크립트가 /usr/local (Homebrew 와 충돌) 또는 ~/Documents 만지려 하면 샌드박스 잡음. MacPorts 빌드가 더 재현 가능한 이유 중 하나 — 의존성 깔끔하게 선언하도록 강제됨.
self-contained 의존성. sudo port install nginx 하면 MacPorts 가 자기 OpenSSL, pcre, zlib 끌고 옴 — macOS 시스템 복사본 절대 X. 단점은 디스크 더 씀; 장점은 macOS 업데이트가 거의 절대 MacPorts 셋업 안 깨뜨림.
Snapshots 는 'macOS 업그레이드가 모든 거 깨' 에 대한 MacPorts 의 답. 메이저 macOS 업그레이드 전에 sudo port snapshot --note "before sequoia" 돌려. 업그레이드와 새 MacPorts 재설치 후 sudo port restore --snapshot "before sequoia" 가 그 전에 active 였던 모든 port (variants 포함) 재설치. MacPorts 의 Brewfile 에 가장 가까운 거.