ebuild読み 05 x11-libs/gtkglarea

今日は x11-libs/gtkglarea-2.0.1 を読みます。

# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtkglarea/gtkglarea-2.0.1.ebuild,v 1.10 2011/03/27 12:56:30 nirbheek Exp $

EAPI="2"
GCONF_DEBUG="no"

inherit gnome2

まあ、いつも通りに inheritしてますね。 GCONF_DEBUG="no" だとそのパッケージにはデバッグ機能がない、と言っていることなります。

DESCRIPTION="GL extensions for gtk+"
HOMEPAGE="http://www.gnome.org/"

LICENSE="GPL-2 LGPL-2.1"
SLOT="2"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE="examples"

RDEPEND=">=x11-libs/gtk+-2.0.3:2
	virtual/opengl"
DEPEND="${RDEPEND}
	dev-util/pkgconfig"

DOCS="AUTHORS ChangeLog NEWS README* docs/*.txt"

この DOCS は gnome2_src_install()で処理されてここで指定されているものをインストールしてくれます。

pkg_setup() {
	G2CONF="${G2CONF} --disable-static"
}

G2CONFはgnome2_src_configure()で使われます。 econf ${G2CONF}という形でよびだされるので、ようするにconfigureに追加したいオプションを指定しているわけですね。

src_prepare() {
	# Do not build examples
	sed "s:\(SUBDIRS.*\)examples:\1:" -i Makefile.am Makefile.in || die "sed failed"
}

sed -i を使って指定したファイルをその場所で(in-placeで)文字列置換しています。ここでは examples のディレクトリを削除することで examples をビルドしないようにしているわけですね。 sedに失敗した時にパッケージの失敗になるように die を使っておきましょう。

src_install() {
	gnome2_src_install

	if use examples; then
		cd "${S}"/examples
		insinto /usr/share/doc/${PF}/examples
		doins *.c *.h *.lwo README || die "doins failed"
	fi
}

インストールです。 デフォルト動作として eclassの中で定義されている gnome2_src_install() を呼んだ後に、このパッケージ専用の動作として USE=examplesの時に examplesの中身をインストールする処理をしていますね。