blob: 5b291f1d65b4c46330bcc5857e4287304865592f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/xfconf.eclass,v 1.20 2010/11/03 17:43:13 ssuominen Exp $
# @ECLASS: xfconf.eclass
# @MAINTAINER:
# XFCE maintainers <xfce@gentoo.org>
# @BLURB: Default XFCE ebuild layout
# @DESCRIPTION:
# Default XFCE ebuild layout
# @ECLASS-VARIABLE: EAUTORECONF
# @DESCRIPTION:
# Run eautoreconf instead of elibtoolize if set "yes"
# @ECLASS-VARIABLE: EINTLTOOLIZE
# @DESCRIPTION:
# Run intltoolize --force --copy --automake if set "yes"
# @ECLASS-VARIABLE: DOCS
# @DESCRIPTION:
# Define documentation to install
# @ECLASS-VARIABLE: PATCHES
# @DESCRIPTION:
# Define patches to apply
# @ECLASS-VARIABLE: XFCONF
# @DESCRIPTION:
# Define options for econf
inherit autotools base eutils fdo-mime gnome2-utils libtool
if ! [[ ${MY_P} ]]; then
MY_P=${P}
else
S=${WORKDIR}/${MY_P}
fi
SRC_URI="mirror://xfce/xfce/${PV}/src/${MY_P}.tar.bz2"
if [[ "${EINTLTOOLIZE}" == "yes" ]]; then
_xfce4_intltool="dev-util/intltool"
fi
if [[ "${EAUTORECONF}" == "yes" ]]; then
_xfce4_m4=">=dev-util/xfce4-dev-tools-4.7.0"
fi
RDEPEND=""
DEPEND="${_xfce4_intltool}
${_xfce4_m4}"
unset _xfce4_intltool
unset _xfce4_m4
XFCONF_EXPF="src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm"
case ${EAPI:-0} in
3|2) XFCONF_EXPF="${XFCONF_EXPF} src_prepare src_configure" ;;
1|0) ;;
*) die "Unknown EAPI." ;;
esac
EXPORT_FUNCTIONS ${XFCONF_EXPF}
# @FUNCTION: xfconf_use_debug
# @DESCRIPTION:
# Return --enable-debug, null, --enable-debug=full or --disable-debug based on
# XFCONF_FULL_DEBUG variable and USE debug
xfconf_use_debug() {
if has debug ${IUSE}; then
if use debug; then
if [[ -n $XFCONF_FULL_DEBUG ]]; then
echo "--enable-debug=full"
else
echo "--enable-debug"
fi
else
if [[ -n $XFCONF_FULL_DEBUG ]]; then
echo "--disable-debug"
fi
fi
fi
}
# @FUNCTION: xfconf_src_unpack
# @DESCRIPTION:
# Run base_src_util autopatch and eautoreconf or elibtoolize
xfconf_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
unpack ${A}
cd "${S}"
has src_prepare ${XFCONF_EXPF} || xfconf_src_prepare
}
# @FUNCTION: xfconf_src_prepare
# @DESCRIPTION:
# Run base_src_util autopatch and eautoreconf or elibtoolize
xfconf_src_prepare() {
debug-print-function ${FUNCNAME} "$@"
base_src_prepare
if [[ "${EINTLTOOLIZE}" == "yes" ]]; then
intltoolize --force --copy --automake || die "intltoolize failed"
fi
if [[ "${EAUTORECONF}" == "yes" ]]; then
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
AT_M4DIR="${EPREFIX}/usr/share/xfce4/dev-tools/m4macros" eautoreconf
else
elibtoolize
fi
}
# @FUNCTION: xfconf_src_configure
# @DESCRIPTION:
# Run econf with opts in XFCONF array
xfconf_src_configure() {
debug-print-function ${FUNCNAME} "$@"
# Convert XFCONF to an array, see base.eclass for original code
if [[ "$(declare -p XFCONF 2>/dev/null 2>&1)" != "declare -a"* ]]; then
XFCONF=( ${XFCONF} )
fi
econf ${XFCONF[@]}
}
# @FUNCTION: xfconf_src_compile
# @DESCRIPTION:
# Run econf with opts in XFCONF variable
xfconf_src_compile() {
debug-print-function ${FUNCNAME} "$@"
has src_configure ${XFCONF_EXPF} || xfconf_src_configure
emake || die "emake failed"
}
# @FUNCTION: xfconf_src_install
# @DESCRIPTION:
# Run emake install and install documentation in DOCS variable
xfconf_src_install() {
debug-print-function ${FUNCNAME} "$@"
emake DESTDIR="${D}" "$@" install || die "emake install failed"
if [[ -n ${DOCS} ]]; then
dodoc ${DOCS} || die "dodoc failed"
fi
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
find "${ED}" -name '*.la' -exec rm -f {} +
validate_desktop_entries
}
# @FUNCTION: xfconf_pkg_preinst
# @DESCRIPTION:
# Run gnome2_icon_savelist
xfconf_pkg_preinst() {
debug-print-function ${FUNCNAME} "$@"
gnome2_icon_savelist
}
# @FUNCTION: xfconf_pkg_postinst
# @DESCRIPTION:
# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update
xfconf_pkg_postinst() {
debug-print-function ${FUNCNAME} "$@"
fdo-mime_desktop_database_update
fdo-mime_mime_database_update
gnome2_icon_cache_update
}
# @FUNCTION: xfconf_pkg_postrm
# @DESCRIPTION:
# Run fdo-mime_{desktop,mime}_database_update and gnome2_icon_cache_update
xfconf_pkg_postrm() {
debug-print-function ${FUNCNAME} "$@"
fdo-mime_desktop_database_update
fdo-mime_mime_database_update
gnome2_icon_cache_update
}
|