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