1 |
# Copyright 1999-2002 Gentoo Technologies, Inc. |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /home/cvsroot/gentoo-x86/eclass/gnome2.eclass,v 1.21 2002/08/17 20:23:15 azarah Exp $ |
4 |
|
5 |
inherit libtool |
6 |
|
7 |
if [ -n "$DEBUG" ] |
8 |
then |
9 |
inherit debug |
10 |
fi |
11 |
|
12 |
# Authors: |
13 |
# Bruce A. Locke <blocke@shivan.org> |
14 |
# Spidler <spidler@gentoo.org> |
15 |
|
16 |
# Gnome 2 ECLASS |
17 |
ECLASS="gnome2" |
18 |
INHERITED="$INHERITED $ECLASS" |
19 |
G2CONF="" |
20 |
|
21 |
if [ -n "$DEBUG" ]; then |
22 |
G2CONF="${G2CONF} --enable-debug=yes" |
23 |
fi |
24 |
|
25 |
ELTCONF="" |
26 |
SCROLLKEEPER_UPDATE="1" |
27 |
|
28 |
gnome2_src_configure() { |
29 |
elibtoolize ${ELTCONF} |
30 |
# doc keyword for gtk-doc |
31 |
use doc && G2CONF="${G2CONF} --enable-gtk-doc" || G2CONF="${G2CONF} --disable-gtk-doc" |
32 |
|
33 |
econf ${1} ${G2CONF} || die "./configure failure" |
34 |
|
35 |
} |
36 |
|
37 |
gnome2_src_compile() { |
38 |
|
39 |
gnome2_src_configure ${1} |
40 |
emake || die "compile failure" |
41 |
|
42 |
} |
43 |
|
44 |
gnome2_src_install() { |
45 |
|
46 |
# if this is not present, scrollkeeper-update may segfault and |
47 |
# create bogus directories in /var/lib/ |
48 |
[ -x ${ROOT}/bin/wc ] && dodir /var/lib/scrollkeeper |
49 |
|
50 |
# we must delay gconf schema installation due to sandbox |
51 |
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1" |
52 |
|
53 |
einstall " scrollkeeper_localstate_dir=${D}/var/lib/scrollkeeper/ ${1}" |
54 |
|
55 |
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL |
56 |
|
57 |
# manual document installation |
58 |
if [ -n "${DOCS}" ] |
59 |
then |
60 |
dodoc ${DOCS} |
61 |
fi |
62 |
|
63 |
# if empty, remove |
64 |
[ -x ${ROOT}/bin/wc ] && [ `ls -al ${D}/var/lib/scrollkeeper | wc -l` -eq 3 ] && \ |
65 |
rm -rf ${D}/var/lib/scrollkeeper |
66 |
# only update scrollkeeper if this package needs it |
67 |
# we cannot use a env variable, as it may get reset when merging |
68 |
# in phases. |
69 |
[ ! -d ${D}/var/lib/scrollkeeper ] && SCROLLKEEPER_UPDATE="0" |
70 |
} |
71 |
|
72 |
|
73 |
gnome2_gconf_install() { |
74 |
if [ -x ${ROOT}/usr/bin/gconftool-2 ] |
75 |
then |
76 |
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL |
77 |
export GCONF_CONFIG_SOURCE=`${ROOT}/usr/bin/gconftool-2 --get-default-source` |
78 |
einfo "installing gnome2 gconf schemas" |
79 |
cat ${ROOT}/var/db/pkg/*/${PN}-${PVR}/CONTENTS | grep "obj /etc/gconf/schemas" | sed 's:obj \([^ ]*\) .*:\1:' |while read F; do |
80 |
echo "DEBUG::gconf install ${F}" |
81 |
${ROOT}/usr/bin/gconftool-2 --makefile-install-rule ${F} |
82 |
done |
83 |
fi |
84 |
# schema installation |
85 |
} |
86 |
|
87 |
gnome2_pkg_postinst() { |
88 |
gnome2_gconf_install |
89 |
|
90 |
if [ -x ${ROOT}/usr/bin/scrollkeeper-update ] && [ "${SCROLLKEEPER_UPDATE}" = "1" ] |
91 |
then |
92 |
echo ">>> Updating Scrollkeeper" |
93 |
scrollkeeper-update -p ${ROOT}/var/lib/scrollkeeper |
94 |
fi |
95 |
} |
96 |
|
97 |
EXPORT_FUNCTIONS src_compile src_install pkg_postinst |
98 |
|
99 |
|