雑記帳

このページは下の方が新しい項目です。

GIMP 2.10

この記事へのリンク

GIMP 2.10、インストールしました。MacPortsを利用してるのですが、この環境では MyPaintをインストールしていると GIMP 2.10をインストールできないようです。

GIMP 2.10 では MyPaint のブラシが使えるようになっていて、それに libmypaint というパッケージを必要としているのですが、このパッケージは MyPaint と同居できないのです。そのため GIMP 2.10 をインストールしようとすると configure の途中でエラーが出て中断してしまいます。

しょうがないので、一旦 MyPaint を deactivateして libmypaint をインストール。そうするとあっさり GIMP 2.10 をインストールできました。で、libmypaint をdeactivate、MyPaint を activateすれば一件落着——とはなりませんでした。libmypaintがない状態では GIMP 2.10は起動しないんですね、やっぱり。

これまたしょうがないので、MyPaintを使うときだけ libmypaint をdeactivate、MyPaint を activateしてやることにします(GIMPの方が使用頻度が高いので)。いちいちコマンドを打ち込むのはめんどくさいので、起動用スクリプトを作ります。

#! /bin/sh

sudo port deactivate libmypaint
sudo port activate mypaint
mypaint
# MyPaintが終了したら元に戻す
sudo port deactivate mypaint
sudo port activate libmypaint

打ち込んでいたコマンドを順に並べただけです。これでもいいのですが、パスワードを入力したり、本当にdeactivateしていいかの問い合わせに答えたりしなきゃならないので面倒です。ということで改良版。

#! /bin/sh

mypass="パスワード"

expect -c "
       spawn sudo port deactivate libmypaint
       expect {
       	      \"Password:\" {
       	      send \"${mypass}\n\"
	      exp_continue
	      }
       	      \"Continue?\" {
       	      send \"y\n\"
	      }
	   }
       expect eof

       spawn sudo port activate mypaint
       expect \"Password:\"
       send \"${mypass}\n\"
       expect eof
"

mypaint

expect -c "
       spawn sudo port deactivate mypaint
       expect \"Password:\"
       send \"${mypass}\n\"
       expect eof

       spawn sudo port activate libmypaint
       expect \"Password:\"
       send \"${mypass}\n\"
       expect eof
"

expectコマンドなんていうものを使うのは初めてなので、ネットのあちこちを参考にして組みました。依存関係が改善されてGIMPとMyPaintが共存できるようになるまでのつなぎ、になればいいなあ。