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をインストールしていない場合はインストールする
- 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のウェブサイトからMacPortsのLeopard対応パッケージをダウンロードしてきてインストールする
- 最新版を導入した場合はすぐに実行することが必須ではないが、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は実行する必要がある。