MacPortsの導入

Mac上で使うことが出来るパッケージシステムといえばFinkとかだったが、最近はMacPortsがいいかんじだよーということで、MacPorts(旧:DarwinPorts)を導入してみる。Finkと違い、variantsオプションなどにより導入するパッケージのカスタマイズが出来ることがウリらしい。
インストール手順はこのあたり"TheMacPortsWiki/InstallingMacPorts"を参照してもらいたいが、Leopardに導入する場合のちょっとした違いは以下の通り。

  • Apple Developer Connectionのウェブサイトにて、Xcode3.0をダウンロード
    • Diskイメージで1.1GBある
  • ダウンロードしたXcode3.0のディスクイメージをマウント
  • Xcode3.0のディスクイメージの中には以下のパッケージファイルが入っている
    • XcodeTools.mpkg
    • Dashcode.pkg
    • WebObjects.mpkg
    • 上記と一緒に、"Packages"フォルダの中には.pkgファイルが入っている
  • XcodeTools.mpkgを普通にインストー
    • "カスタマイズ"を選択した場合、以下のコンポーネントを選択できるが、デフォルトの状態のままで問題ない
      • Developper Tools…(必須)
      • Developper Tools…
      • UNIX開発サポート
      • Core参照ライブラリ
      • Mac OS 10.3.9…
      • WebObjects
  • "Packages"フォルダの中にあるX11SDK.pkgを追加してインストー
  • X11をインストールしていない場合はインストールする
    • X11はInstall Mediaの中にある"Additional Package"を実行してチェックを付けることによりインストール可能
  • MacPortsを使用するために必要なパスと、X11アプリケーション実行のために必要なDISPLAY設定ををホームフォルダ直下に.profileファイルを作成するか、.bashrcファイルを作成して記載する
    • export PATH=/opt/local/bin:/opt/local/sbin:$PATH
    • export DISPLAY=:0.0
  • 必須というわけではないけれども、便利なのでMANPATHにもパスを通しておくといいかな
    • export MANPATH=/opt/local/man:$MANPATH
  • Shellにプロファイルを読み込ませて、envコマンドでパスが設定されていることを確認
  • X11アプリケーションをX11 windowから直接実行できるようにするために、X11起動時にMacPortsのパスをセッションが取り込むようにする
    • X11を起動し"アプリケーション"→"カスタマイズ メニュー"を選択、Terminalのコマンドとして記載されている"xterm"を"xtrem -ls"に変更する
  • MacPortsのウェブサイトからMacPortsLeopard対応パッケージをダウンロードしてきてインストールする
    • ダウンロードしてきたイメージファイルをマウントすると、中にはMacPorts-1.6.0.pkgファイルが入っているので、普通にインストールする
      • .pkgファイルを使用した場合、MacPortsは"/opt/local"配下にインストールされる
  • 最新版を導入した場合はすぐに実行することが必須ではないが、MacPortsをselfupdate機能でアップデートし、portコマンドが正常に動作することを確認する
    • "sudo port -d selfupdate"コマンドを実行、実行アカウントのパスワードを入力し、正常に動作すればOK

なお、"sudo port -d selfupdate"コマンドを実行した場合の実行例は以下の通り。
あー、私のMacBookのホスト名が晒されている…(まぁいいか)。

Pipoco:~ takao$ sudo port -d selfupdate
Password:
DEBUG: Rebuilding the MacPorts base system if needed.
DEBUG: Synchronizing ports tree(s)
Synchronizing local ports tree from rsync://rsync.macports.org/release/ports/
DEBUG: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/ports/ /opt/local/var/macports/sources/rsync.macports.org/release/ports
receiving file list ... done
./
(中略)
sent 73 bytes  received 6621 bytes  2677.60 bytes/sec
total size is 3962384  speedup is 591.93

Downloaded MacPorts base version 1.600

The MacPorts installation is not outdated and so was not updated
DEBUG: Setting ownership to root
selfupdate done!
Pipoco:~ takao$ 

MacPortsは頻繁にUpdateされるため、時々selfupdateは実行する必要がある。