MacPortsの最低限のコマンド

メモに近いけど、MacPortsの必要最小限にまとめる。MacPorts自体はここからdmgをダウンロードしてインストールすれば/opt/localにインストールされる。そんであとは、

パッケージのインストール

$ sudo port install <パッケージ名>

パッケージのアンインストール

$ sudo port uninstall <パッケージ名>

を知っていれば使えるかと。そんで、あとは必要に応じてパッケージの更新とかしたくなると思うので

$ sudo port selfupdate
$ sudo port upgrade outdated

をすればパッケージの更新ができるかと思う。

PPAPI

Linux版のFlashがChromeが採用しているPPAPI以外は終了ということで、ちょっと見てみる。PPAPI自体はChrome専用というわけではなく、クロスプラットフォームのブラウザ用プラグインのAPIだそうな。Getting Startedにもあるけど、実装自体は簡単そう。Cであれば

  • PPP_InitializeModule which is called on startup and returns 0 on success.
  • PPP_ShutdownModule which is called on shutdown.
  • PPP_GetInterface which is called when a new plugin instance is created for a page.

C++だと

  • pp::CreateModule which is the factory function for your plugin’s specific pp::Module implementation.
  • A specialization of pp::Module that implements CreateInstance, which is in turn the factory function for your plugin’s specificpp::Instance implementation.
  • A specialization of pp::Instance which represents one plugin on a web page.

とのこと。どっちかというと、C++の方が実装しやすいのかも。

TikaとPOI

POIが悪いのかもしれないけど、Tikaは利用しているPOIのバージョンが違うと動かなくなる…。たとえば、Tika 1.0でPOI 3.8-beta5を使おうとすると、Exceptionが発生する。Tikaで利用するPOIのメソッドが見つからない的なエラーになる感じ。今までにも同じようなパターンでPOIのバージョンをTikaが使っているもの以外にすると、度々この問題に遭遇した。POIがもっと互換性を考えてくれれば発生しないと思うだけどね。もしかしたら、POIはbetaだから変えてもいいだろう的な感じなのかもしれないけど、不便な感じだ。