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に組み込む所までは時間が無く...。