1 |
pacho |
1.7 |
# Copyright 1999-2013 Gentoo Foundation |
2 |
eva |
1.1 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
eva |
1.10 |
# $Header: /var/cvsroot/gentoo-x86/gnome-base/gconf/gconf-3.2.5.ebuild,v 1.9 2013/02/25 09:07:15 zmedico Exp $ |
4 |
eva |
1.1 |
|
5 |
tetromino |
1.5 |
EAPI="5" |
6 |
eva |
1.1 |
GCONF_DEBUG="yes" |
7 |
|
|
GNOME_ORG_MODULE="GConf" |
8 |
|
|
GNOME2_LA_PUNT="yes" |
9 |
|
|
|
10 |
|
|
inherit eutils gnome2 |
11 |
|
|
|
12 |
tetromino |
1.5 |
DESCRIPTION="GNOME configuration system and daemon" |
13 |
eva |
1.1 |
HOMEPAGE="http://projects.gnome.org/gconf/" |
14 |
|
|
|
15 |
tetromino |
1.5 |
LICENSE="LGPL-2+" |
16 |
eva |
1.1 |
SLOT="2" |
17 |
zmedico |
1.9 |
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux" |
18 |
tetromino |
1.5 |
IUSE="debug gtk +introspection ldap orbit policykit" |
19 |
eva |
1.1 |
|
20 |
|
|
RDEPEND=">=dev-libs/glib-2.31:2 |
21 |
pacho |
1.7 |
>=dev-libs/dbus-glib-0.74:= |
22 |
|
|
>=sys-apps/dbus-1:= |
23 |
eva |
1.1 |
>=dev-libs/libxml2-2:2 |
24 |
tetromino |
1.5 |
gtk? ( >=x11-libs/gtk+-2.90:3 ) |
25 |
pacho |
1.7 |
introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) |
26 |
tetromino |
1.5 |
ldap? ( net-nds/openldap:= ) |
27 |
eva |
1.1 |
orbit? ( >=gnome-base/orbit-2.4:2 ) |
28 |
pacho |
1.7 |
policykit? ( sys-auth/polkit:= )" |
29 |
eva |
1.1 |
DEPEND="${RDEPEND} |
30 |
|
|
dev-libs/libxslt |
31 |
tetromino |
1.5 |
dev-util/gtk-doc-am |
32 |
eva |
1.1 |
>=dev-util/intltool-0.35 |
33 |
tetromino |
1.5 |
virtual/pkgconfig" |
34 |
eva |
1.1 |
|
35 |
tetromino |
1.6 |
pkg_setup() { |
36 |
|
|
kill_gconf |
37 |
|
|
} |
38 |
|
|
|
39 |
tetromino |
1.5 |
src_prepare() { |
40 |
eva |
1.1 |
G2CONF="${G2CONF} |
41 |
|
|
--disable-static |
42 |
|
|
--enable-gsettings-backend |
43 |
tetromino |
1.5 |
$(use_enable gtk) |
44 |
|
|
"$(usex gtk --with-gtk=3.0 "")" |
45 |
eva |
1.1 |
$(use_enable introspection) |
46 |
|
|
$(use_with ldap openldap) |
47 |
|
|
$(use_enable orbit) |
48 |
|
|
$(use_enable policykit defaults-service) |
49 |
|
|
ORBIT_IDL=$(type -P orbit-idl-2)" |
50 |
|
|
# Need host's IDL compiler for cross or native build, bug #262747 |
51 |
|
|
|
52 |
|
|
gnome2_src_prepare |
53 |
|
|
|
54 |
|
|
# Do not start gconfd when installing schemas, fix bug #238276, upstream #631983 |
55 |
|
|
epatch "${FILESDIR}/${PN}-2.24.0-no-gconfd.patch" |
56 |
|
|
|
57 |
|
|
# Do not crash in gconf_entry_set_value() when entry pointer is NULL, upstream #631985 |
58 |
|
|
epatch "${FILESDIR}/${PN}-2.28.0-entry-set-value-sigsegv.patch" |
59 |
|
|
} |
60 |
|
|
|
61 |
|
|
src_install() { |
62 |
|
|
gnome2_src_install |
63 |
|
|
|
64 |
|
|
keepdir /etc/gconf/gconf.xml.mandatory |
65 |
|
|
keepdir /etc/gconf/gconf.xml.defaults |
66 |
|
|
# Make sure this directory exists, bug #268070, upstream #572027 |
67 |
|
|
keepdir /etc/gconf/gconf.xml.system |
68 |
|
|
|
69 |
pacho |
1.8 |
echo "CONFIG_PROTECT_MASK=\"${EPREFIX}/etc/gconf\"" > 50gconf |
70 |
eva |
1.1 |
echo 'GSETTINGS_BACKEND="gconf"' >> 50gconf |
71 |
jlec |
1.4 |
doenvd 50gconf |
72 |
|
|
dodir /root/.gconfd |
73 |
eva |
1.1 |
} |
74 |
|
|
|
75 |
|
|
pkg_preinst() { |
76 |
|
|
kill_gconf |
77 |
|
|
} |
78 |
|
|
|
79 |
|
|
pkg_postinst() { |
80 |
|
|
kill_gconf |
81 |
|
|
|
82 |
|
|
# change the permissions to avoid some gconf bugs |
83 |
|
|
einfo "changing permissions for gconf dirs" |
84 |
zmedico |
1.9 |
find "${EPREFIX}"/etc/gconf/ -type d -exec chmod ugo+rx "{}" \; |
85 |
eva |
1.1 |
|
86 |
|
|
einfo "changing permissions for gconf files" |
87 |
zmedico |
1.9 |
find "${EPREFIX}"/etc/gconf/ -type f -exec chmod ugo+r "{}" \; |
88 |
eva |
1.1 |
|
89 |
|
|
if ! use orbit; then |
90 |
|
|
ewarn "You are using dbus for GConf's IPC. If you are upgrading from" |
91 |
|
|
ewarn "<=gconf-3.2.3, or were previously using gconf with USE=orbit," |
92 |
|
|
ewarn "you will need to now restart your desktop session (for example," |
93 |
|
|
ewarn "by logging out and then back in)." |
94 |
|
|
ewarn "Otherwise, gconf-based applications may crash with 'Method ..." |
95 |
|
|
ewarn "on interface \"org.gnome.GConf.Server\" doesn't exist' errors." |
96 |
|
|
fi |
97 |
|
|
} |
98 |
|
|
|
99 |
|
|
kill_gconf() { |
100 |
|
|
# This function will kill all running gconfd-2 that could be causing troubles |
101 |
zmedico |
1.9 |
if [ -x "${EPREFIX}"/usr/bin/gconftool-2 ] |
102 |
eva |
1.1 |
then |
103 |
zmedico |
1.9 |
"${EPREFIX}"/usr/bin/gconftool-2 --shutdown |
104 |
eva |
1.1 |
fi |
105 |
|
|
|
106 |
|
|
return 0 |
107 |
|
|
} |