HOME / コンピュータTips / Solaris / コンパイル / cairomm
現時点のcswのcairoが1.4.10らしいので
# pkginfo -l CSWlibcairo PKGINST: CSWlibcairo NAME: libcairo - The Cairo 2D Graphics Library CATEGORY: application ARCH: i386 VERSION: 1.4.10
1.4系を入れてみる。cswパッケージが上がると追っかけるのイヤだなぁ。
gzip -dc cairomm-1.4.8.tar.gz | tar xvf -
gmakeは必須である。
./configure \ --prefix=/opt/JPC
gmake -j4
このままでは、/opt/JPCにインストールされてしまうので、泥縄であるが、JPCを一次的に待避させる。
mv /opt/JPC /opt/JPC.orig gmake install install-pkgconfigDATA
インストール後の確認などなど・・・
# ls /opt/JPC/lib/pkgconfig/ cairomm-1.0.pc
rm -rf ../install_root/ mkdir -p ../install_root/opt mv /opt/JPC ../install_root/opt/ mv /opt/JPC.orig /opt/JPC
ここで ../install_rootにインストール後のイメージが出来ている。
cd ../install_root
prototypeを作成
pkgproto . > prototype
出来たprototypeファイルから、prototypeのエントリを削除する。
f none prototype 0644 root root
その上で、下記の2行を追加。依存関係があるので注意。
i pkginfo i depend
cat <<__END > ../depend P CSWlibcairo libcairo - The Cairo 2D Graphics Library __END cp ../depend .
cat <<__END > ../pkginfo PKG=JPCcairomm NAME=cairomm ARCH=i86pc VERSION=1.4.8 CATEGORY=library DESC=A C++ API for cairo VENDOR=JPC CLASSES=none BASEDIR=/ __END cp ../pkginfo .
../../make_package.sh 01
pkgmk -r `pwd` pushd /var/spool/pkg/ pkgtrans -s . パッケージ名.pkg
ここでできたpkgをインストールし、恐ろしいが、依存してるCSWlibcairoをアンインストールしようとすると、依存関係の確認ができる
# pkgrm CSWlibcairo
〜中略〜
警告: <JPCcairomm> パッケージは、現在削除中のパッケージに依存 しています。
確認したら、インストールせずに終了する。
env PKG_CONFIG_PATH=/opt/JPC/lib/pkgconfig:/usr/lib/pkgconfig:/opt/csw/lib/pkgconfig pkg-config --list-all | grep cairomm cairomm-1.0 cairomm - C++ wrapper for cairo
以上。