MacPortsで自前のPortsを作ってみた。
Macportに必要なパッケージが無かったため、勉強兼ねて自作してみる事にした。
最終的に未完成のところが残るケド、作り方を忘れないようにメモ。
手順はほぼ「MacPortsで自前のPortsファイルを作って使ってみよう - アシアルブログ」を参考にさせて頂きました。
- 対象パッケージ:sam2p
- Profile
PortSystem 1.0 name sam2p version 0.49 revision 1 description sam2p is a UNIX command line utility. long_description converts many raster (bitmap) image formats. categories graphics platforms darwin depends_lib port:netpbm homepage http://pts.szit.bme.hu/sam2p/ master_sites http://sam2p.googlecode.com/files/ checksums md5 72387e3e3897580fb5ae439713e75177 worksrcdir ${name}-${version}
- 依存関係の解決
このsam2pですが、内部でnetpbmパッケージで提供されているコマンドを利用しています。
普通のmacportだと依存関係を自動的に解決してくれますが、この自作portを最初に作った時、依存関係の解決の記述方法"depends_lib port:netpbm"がわからず、ちょっとハマってしまいました。
- ディレクトリ&コマンド
$sudo mkdir -p /opt/local/var/localports/graphics/sam2p $sudo vi /opt/local/var/localports/graphics/sam2p/Profile $cd /opt/local/var/localports $sudo portindex Creating port index in /opt/local/var/localports Adding port graphics/sam2p Total number of ports parsed: 1 Ports successfully parsed: 1 Ports failed: 0 Up-to-date ports skipped: 0 $sudo port selfupdate ---> Updating the ports tree Synchronizing local ports tree from rsync://rsync.macports.org/release/ports/ receiving file list ... done (省略) $sudo port install sam2p
- その他
コンパイルエラー等が発生した場合
Log for sam2p is at: /opt/local/var/macports/logs/_opt_local_var_localports_graphics_sam2p/main.log Error: Status 1 encountered during processing.
こんな感じで、エラーのログファイルを出力してくれるのでそれを追いかけるのが一番早い道のりでした。
- Todo
このsam2p内部でtif22pnmを使っており、こちらの機能を使う場合はインストールが必要になる。
ただ、tif22pnmが古くlibpngとの絡みでpatchをあてないとビルドが通らない。
patch自体はBSD portを参考しにて作る事が出来たけど、macportに組み込む所までは時間が無く...。