HOME / コンピュータTips / Solaris / コンパイル / cairomm

Date: 2019/12/10 |  このエントリーをはてなブックマークに追加  |  Tags:

インストールとデプロイ

ダウンロード

現時点の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 .

pkginfoを作成

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

以上。