複数台のMacでMacPortsのバイナリパッケージを共有してコンパイルを省力化するためのメモ。
macを使っていてちょっといまいちなのがMacPorts。適当なオプションのバイナリを用意しておいてもらえれば非常にいいのですが、基本毎回コンパイル。正直少し時代遅れと言わざるを得ない仕様と思われますが、他にいい選択肢もないという状況。
エコ(笑)的にも無駄な電力を消費してコンパイルしなくてもバイナリの方が楽ですし、共通のオプションでコンパイルされていれば話もしやすいのにと思わざるを得ません。
特に私の場合外出先ではMacBook Airがメイン。64GBのSSDでは容量的にかなり厳しい上にコンパイルなんてさせていたら熱でアチアチになってしまいます。
文句をいっていても始まらないので自宅のMacMiniでコンパイルさせ、バイナリを共有することで省力化を図ってみた次第。
- 複数のMacでコンパイルオプションを合わせる
/opt/local/etc/macportsのmacports.confを編集
portarchivemode yes
build_arch x86_64
必要ならvariants.confも編集
これで/opt/local/var/macports/packages/darwin/i386にportsの
バイナリパッケージが出来るようになります
- で、これをDropboxなどで共有
双方のマシンで
sudo rm -rf /opt/local/var/macports/packages/darwin/i386
mkdir ~/Dropbox/Docuemts/darwin-packages
sudo ln -s ~/Dropbox/Documents/darwin-packages /opt/local/var/macports/packages/darwin/i386
- コンパイルする側のマシンでは普通にportsをインストール
eg) sudo ports install hogehoge - コンパイル終了とDropboxの同期を待つ
- クライアント側のMacでは
sudo port -bv install hogehoge
- 双方で同じタイミングで"sudo ports selfupdate"すること
- インストール時のvariantsを合わせておくこと。でないとクライアント側でコンパイルしようとしてしまいます。