/[gentoo-x86]/eclass/kde4-base.eclass
Gentoo

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.102 - (hide annotations) (download)
Sun Jul 10 17:53:37 2011 UTC (3 years, 1 month ago) by tampakrap
Branch: MAIN
Changes since 1.101: +21 -13 lines
Sync kde eclasses with kde overlay

1 reavertm 1.58 # Copyright 1999-2010 Gentoo Foundation
2 ingmar 1.1 # Distributed under the terms of the GNU General Public License v2
3 tampakrap 1.102 # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.99 2011/06/15 00:11:05 abcd Exp $
4 ingmar 1.1
5     # @ECLASS: kde4-base.eclass
6     # @MAINTAINER:
7     # kde@gentoo.org
8 jmbsvicetto 1.13 # @BLURB: This eclass provides functions for kde 4.X ebuilds
9 ingmar 1.1 # @DESCRIPTION:
10 scarabeus 1.22 # The kde4-base.eclass provides support for building KDE4 based ebuilds
11 ingmar 1.1 # and KDE4 applications.
12     #
13 scarabeus 1.87 # NOTE: KDE 4 ebuilds currently support EAPI "3". This will be reviewed
14     # over time as new EAPI versions are approved.
15 scarabeus 1.22
16 alexxy 1.78 # @ECLASS-VARIABLE: VIRTUALX_REQUIRED
17     # @DESCRIPTION:
18 dilfridge 1.85 # For proper description see virtualx.eclass manpage.
19     # Here we redefine default value to be manual, if your package needs virtualx
20     # for tests you should proceed with setting VIRTUALX_REQUIRED=test.
21 alexxy 1.78 : ${VIRTUALX_REQUIRED:=manual}
22    
23 scarabeus 1.91 inherit kde4-functions toolchain-funcs fdo-mime gnome2-utils base virtualx versionator eutils
24 reavertm 1.61
25     if [[ ${BUILD_TYPE} = live ]]; then
26 scarabeus 1.87 case ${KDE_SCM} in
27     svn) inherit subversion ;;
28 scarabeus 1.91 git) inherit git-2 ;;
29 scarabeus 1.87 esac
30 reavertm 1.61 fi
31    
32 scarabeus 1.52 # @ECLASS-VARIABLE: CMAKE_REQUIRED
33 scarabeus 1.44 # @DESCRIPTION:
34 scarabeus 1.47 # Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'.
35     # Please note that if it's set to 'never' you need to explicitly override following phases:
36     # src_configure, src_compile, src_test and src_install.
37     # Defaults to 'always'.
38 scarabeus 1.54 : ${CMAKE_REQUIRED:=always}
39 reavertm 1.61 if [[ ${CMAKE_REQUIRED} = always ]]; then
40 scarabeus 1.47 buildsystem_eclass="cmake-utils"
41     export_fns="src_configure src_compile src_test src_install"
42 scarabeus 1.44 fi
43    
44 reavertm 1.61 # @ECLASS-VARIABLE: KDE_MINIMAL
45     # @DESCRIPTION:
46     # This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
47 reavertm 1.66 # version for apps to work. Currently defaults to 4.4
48 reavertm 1.61 # One may override this variable to raise version requirements.
49 abcd 1.97 # Note that it is fixed to ${PV} for kde-base packages.
50 reavertm 1.66 KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
51 scarabeus 1.48
52 scarabeus 1.87 # Set slot for KDEBASE known packages
53 reavertm 1.61 case ${KDEBASE} in
54     kde-base)
55 abcd 1.100 SLOT=4
56 abcd 1.97 KDE_MINIMAL="${PV}"
57 reavertm 1.61 ;;
58     koffice)
59     SLOT="2"
60     ;;
61     kdevelop)
62     if [[ ${BUILD_TYPE} = live ]]; then
63 reavertm 1.65 # @ECLASS-VARIABLE: KDEVELOP_VERSION
64     # @DESCRIPTION:
65     # Specifies KDevelop version. Default is 4.0.0 for tagged packages and 9999 for live packages.
66     # Applies to KDEBASE=kdevelop only.
67     KDEVELOP_VERSION="${KDEVELOP_VERSION:-9999}"
68     # @ECLASS-VARIABLE: KDEVPLATFORM_VERSION
69     # @DESCRIPTION:
70     # Specifies KDevplatform version. Default is 1.0.0 for tagged packages and 9999 for live packages.
71     # Applies to KDEBASE=kdevelop only.
72     KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-9999}"
73 reavertm 1.61 else
74     case ${PN} in
75     kdevelop|quanta)
76     KDEVELOP_VERSION=${PV}
77     KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)"
78     ;;
79 reavertm 1.65 kdevplatform)
80 reavertm 1.61 KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)"
81     KDEVPLATFORM_VERSION=${PV}
82 reavertm 1.65 ;;
83     *)
84     KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.0.0}"
85     KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-1.0.0}"
86 reavertm 1.61 esac
87     fi
88     SLOT="4"
89     ;;
90     esac
91    
92     inherit ${buildsystem_eclass}
93 scarabeus 1.47
94 scarabeus 1.87 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_preinst pkg_postinst pkg_postrm
95 scarabeus 1.44
96 scarabeus 1.47 unset buildsystem_eclass
97     unset export_fns
98 ingmar 1.1
99 alexxy 1.78 # @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
100     # @DESCRIPTION:
101     # Is qt-declarative required? Possible values are 'always', 'optional' and 'never'.
102     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
103     DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
104    
105     # @ECLASS-VARIABLE: QTHELP_REQUIRED
106     # @DESCRIPTION:
107     # Is qt-assistant required? Possible values are 'always', 'optional' and 'never'.
108     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
109     QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}"
110    
111 philantrop 1.7 # @ECLASS-VARIABLE: OPENGL_REQUIRED
112     # @DESCRIPTION:
113     # Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
114     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
115     OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
116    
117 abcd 1.56 # @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED
118     # @DESCRIPTION:
119     # Is qt-multimedia required? Possible values are 'always', 'optional' and 'never'.
120     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
121     MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
122    
123 zlin 1.4 # @ECLASS-VARIABLE: CPPUNIT_REQUIRED
124     # @DESCRIPTION:
125     # Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
126     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
127     CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
128    
129 scarabeus 1.34 # @ECLASS-VARIABLE: KDE_REQUIRED
130     # @DESCRIPTION:
131     # Is kde required? Possible values are 'always', 'optional' and 'never'.
132     # This variable must be set before inheriting any eclasses. Defaults to 'always'
133 reavertm 1.74 # If set to 'always' or 'optional', KDE_MINIMAL may be overriden as well.
134 scarabeus 1.34 # Note that for kde-base packages this variable is fixed to 'always'.
135     KDE_REQUIRED="${KDE_REQUIRED:-always}"
136    
137 reavertm 1.69 # @ECLASS-VARIABLE: KDE_HANDBOOK
138     # @DESCRIPTION:
139 reavertm 1.74 # Set to enable handbook in application. Possible values are 'always', 'optional'
140     # (handbook USE flag) and 'never'.
141     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
142     # It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it
143     # ensures buildtime and runtime dependencies.
144     KDE_HANDBOOK="${KDE_HANDBOOK:-never}"
145 reavertm 1.69
146 scarabeus 1.87 # @ECLASS-VARIABLE: KDE_LINGUAS_LIVE_OVERRIDE
147     # @DESCRIPTION:
148     # Set this varible if you want your live package to manage its
149     # translations. (Mostly all kde ebuilds does not ship documentation
150     # and translations in live ebuilds)
151 abcd 1.90 if [[ ${BUILD_TYPE} == live && -z ${KDE_LINGUAS_LIVE_OVERRIDE} ]]; then
152     # Kdebase actualy provides the handbooks even for live stuff
153     [[ ${KDEBASE} == kde-base ]] || KDE_HANDBOOK=never
154 scarabeus 1.87 KDE_LINGUAS=""
155     fi
156    
157 scarabeus 1.47 # Setup packages inheriting this eclass
158     case ${KDEBASE} in
159     kde-base)
160 reavertm 1.69 HOMEPAGE="http://www.kde.org/"
161     LICENSE="GPL-2"
162 scarabeus 1.47 if [[ $BUILD_TYPE = live ]]; then
163     # Disable tests for live ebuilds
164     RESTRICT+=" test"
165 abcd 1.96 fi
166    
167     # Only add the kdeprefix USE flag for older versions, to help
168     # non-portage package managers handle the upgrade
169 tampakrap 1.98 if [[ ${PV} < 4.6.4 && ( ( ${KMNAME} != kdepim && ${PN} != kdepim-runtime ) || ${PV} < 4.6 ) ]]; then
170 scarabeus 1.47 IUSE+=" kdeprefix"
171     fi
172 abcd 1.96
173 scarabeus 1.47 # This code is to prevent portage from searching GENTOO_MIRRORS for
174     # packages that will never be mirrored. (As they only will ever be in
175     # the overlay).
176     case ${PV} in
177     *9999* | 4.?.[6-9]?)
178     RESTRICT+=" mirror"
179     ;;
180     esac
181     ;;
182 reavertm 1.69 koffice)
183     HOMEPAGE="http://www.koffice.org/"
184     LICENSE="GPL-2"
185     ;;
186     kdevelop)
187     HOMEPAGE="http://www.kdevelop.org/"
188     LICENSE="GPL-2"
189     ;;
190 scarabeus 1.47 esac
191 scarabeus 1.34
192 scarabeus 1.47 # @ECLASS-VARIABLE: QT_MINIMAL
193 scarabeus 1.39 # @DESCRIPTION:
194 scarabeus 1.87 # Determine version of qt we enforce as minimal for the package.
195 abcd 1.97 if version_is_at_least 4.5.50 "${KDE_MINIMAL}"; then
196 alexxy 1.78 QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
197 scarabeus 1.87 else
198 reavertm 1.66 QT_MINIMAL="${QT_MINIMAL:-4.6.3}"
199 scarabeus 1.47 fi
200    
201 alexxy 1.78 # Declarative dependencies
202     qtdeclarativedepend="
203     >=x11-libs/qt-declarative-${QT_MINIMAL}:4
204     "
205     case ${DECLARATIVE_REQUIRED} in
206     always)
207     COMMONDEPEND+=" ${qtdeclarativedepend}"
208     ;;
209     optional)
210     IUSE+=" declarative"
211     COMMONDEPEND+=" declarative? ( ${qtdeclarativedepend} )"
212     ;;
213     *) ;;
214     esac
215     unset qtdeclarativedepend
216    
217     # QtHelp dependencies
218     qthelpdepend="
219     >=x11-libs/qt-assistant-${QT_MINIMAL}:4
220     "
221     case ${QTHELP_REQUIRED} in
222     always)
223     COMMONDEPEND+=" ${qthelpdepend}"
224     ;;
225     optional)
226     IUSE+=" qthelp"
227     COMMONDEPEND+=" qthelp? ( ${qthelpdepend} )"
228     ;;
229     esac
230     unset qthelpdepend
231    
232 scarabeus 1.34 # OpenGL dependencies
233     qtopengldepend="
234 scarabeus 1.47 >=x11-libs/qt-opengl-${QT_MINIMAL}:4
235 scarabeus 1.34 "
236     case ${OPENGL_REQUIRED} in
237     always)
238 wired 1.42 COMMONDEPEND+=" ${qtopengldepend}"
239 scarabeus 1.34 ;;
240     optional)
241 wired 1.42 IUSE+=" opengl"
242     COMMONDEPEND+=" opengl? ( ${qtopengldepend} )"
243 scarabeus 1.34 ;;
244     *) ;;
245     esac
246     unset qtopengldepend
247    
248 abcd 1.56 # MultiMedia dependencies
249     qtmultimediadepend="
250     >=x11-libs/qt-multimedia-${QT_MINIMAL}:4
251     "
252     case ${MULTIMEDIA_REQUIRED} in
253     always)
254     COMMONDEPEND+=" ${qtmultimediadepend}"
255     ;;
256     optional)
257     IUSE+=" multimedia"
258     COMMONDEPEND+=" multimedia? ( ${qtmultimediadepend} )"
259     ;;
260     *) ;;
261     esac
262     unset qtmultimediadepend
263    
264 scarabeus 1.34 # CppUnit dependencies
265     cppuintdepend="
266     dev-util/cppunit
267     "
268 scarabeus 1.22 case ${CPPUNIT_REQUIRED} in
269 zlin 1.4 always)
270 wired 1.42 DEPEND+=" ${cppuintdepend}"
271 scarabeus 1.22 ;;
272 zlin 1.4 optional)
273 wired 1.42 IUSE+=" test"
274     DEPEND+=" test? ( ${cppuintdepend} )"
275 scarabeus 1.22 ;;
276 scarabeus 1.34 *) ;;
277 zlin 1.4 esac
278 scarabeus 1.34 unset cppuintdepend
279    
280 abcd 1.94
281     # WebKit use dependencies
282     case ${KDE_REQUIRED} in
283     always)
284     qtwebkitusedeps="[kde]"
285     ;;
286     optional)
287     qtwebkitusedeps="[kde?]"
288     ;;
289     *) ;;
290     esac
291 scarabeus 1.34 # KDE dependencies
292 reavertm 1.65 # Qt accessibility classes are needed in various places, bug 325461
293 scarabeus 1.34 kdecommondepend="
294 reavertm 1.73 dev-lang/perl
295 scarabeus 1.47 >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
296 reavertm 1.64 >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus]
297     >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility,kde]
298 scarabeus 1.47 >=x11-libs/qt-script-${QT_MINIMAL}:4
299     >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support]
300     >=x11-libs/qt-svg-${QT_MINIMAL}:4
301     >=x11-libs/qt-test-${QT_MINIMAL}:4
302 abcd 1.94 >=x11-libs/qt-webkit-${QT_MINIMAL}:4${qtwebkitusedeps}
303 wired 1.42 !aqua? (
304     x11-libs/libXext
305     x11-libs/libXt
306     x11-libs/libXxf86vm
307 dilfridge 1.92 x11-libs/libXcomposite
308 wired 1.42 )
309 scarabeus 1.34 "
310 reavertm 1.61
311 scarabeus 1.34 if [[ ${PN} != kdelibs ]]; then
312 reavertm 1.73 kdecommondepend+=" $(add_kdebase_dep kdelibs)"
313     if [[ ${KDEBASE} = kdevelop ]]; then
314     if [[ ${PN} != kdevplatform ]]; then
315     # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED
316     # @DESCRIPTION:
317     # Specifies whether kdevplatform is required. Possible values are 'always' (default) and 'never'.
318     # Applies to KDEBASE=kdevelop only.
319     KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}"
320     case ${KDEVPLATFORM_REQUIRED} in
321     always)
322     kdecommondepend+="
323     >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION}
324     "
325     ;;
326     *) ;;
327     esac
328 reavertm 1.61 fi
329 ingmar 1.1 fi
330     fi
331 scarabeus 1.87
332 scarabeus 1.34 kdedepend="
333 reavertm 1.60 dev-util/automoc
334 scarabeus 1.34 dev-util/pkgconfig
335 scarabeus 1.54 !aqua? (
336 xarthisius 1.83 >=x11-libs/libXtst-1.1.0
337 scarabeus 1.54 x11-proto/xf86vidmodeproto
338     )
339 scarabeus 1.34 "
340 scarabeus 1.87
341 reavertm 1.73 kderdepend=""
342 reavertm 1.69
343 scarabeus 1.87 # all packages needs oxygen icons for basic iconset
344 dilfridge 1.82 if [[ ${PN} != oxygen-icons ]]; then
345     kderdepend+=" $(add_kdebase_dep oxygen-icons)"
346     fi
347    
348 abcd 1.90 # add a dependency over kde-l10n if EAPI4 or better is around
349     if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} && ${EAPI:-0} != 3 ]]; then
350 scarabeus 1.87 for _lingua in ${KDE_LINGUAS}; do
351 scarabeus 1.89 # if our package has lignuas, pull in kde-l10n with selected lingua enabled,
352     # but only for selected ones.
353     # this can't be done on one line because if user doesn't use any localisation
354     # then he is probably not interested in kde-l10n at all.
355     kderdepend+="
356 scarabeus 1.91 linguas_${_lingua}? ( $(add_kdebase_dep kde-l10n "linguas_${_lingua}(+)") )
357 scarabeus 1.89 "
358 scarabeus 1.87 done
359 scarabeus 1.89 unset _lingua
360 scarabeus 1.87 fi
361    
362 reavertm 1.74 kdehandbookdepend="
363     app-text/docbook-xml-dtd:4.2
364     app-text/docbook-xsl-stylesheets
365     "
366     kdehandbookrdepend="
367     $(add_kdebase_dep kdelibs 'handbook')
368     "
369     case ${KDE_HANDBOOK} in
370     always)
371     kdedepend+=" ${kdehandbookdepend}"
372     [[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}"
373     ;;
374     optional)
375     IUSE+=" +handbook"
376     kdedepend+=" handbook? ( ${kdehandbookdepend} )"
377     [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )"
378     ;;
379     *) ;;
380     esac
381     unset kdehandbookdepend kdehandbookrdepend
382 reavertm 1.69
383 scarabeus 1.34 case ${KDE_REQUIRED} in
384     always)
385 wired 1.42 IUSE+=" aqua"
386 reavertm 1.73 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}"
387     [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}"
388     [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}"
389 scarabeus 1.34 ;;
390     optional)
391 wired 1.42 IUSE+=" aqua kde"
392 reavertm 1.73 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
393     [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )"
394     [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )"
395 scarabeus 1.34 ;;
396     *) ;;
397     esac
398 scarabeus 1.54
399 reavertm 1.73 unset kdecommondepend kdedepend kderdepend
400 scarabeus 1.34
401     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
402     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
403     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
404    
405     # Accumulate dependencies set by this eclass
406 wired 1.42 DEPEND+=" ${COMMONDEPEND}"
407     RDEPEND+=" ${COMMONDEPEND}"
408     unset COMMONDEPEND
409 ingmar 1.1
410 scarabeus 1.87 # Add experimental kdeenablefinal, masked by default
411 scarabeus 1.54 IUSE+=" kdeenablefinal"
412    
413 ingmar 1.1 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
414     # koffice ebuild, the URI should be set in the ebuild itself
415 scarabeus 1.87 _calculate_src_uri() {
416     debug-print-function ${FUNCNAME} "$@"
417    
418     local _kmname _kmname_pv
419    
420     # we calculate URI only for known KDEBASE modules
421     [[ -n ${KDEBASE} ]] || return
422    
423     # calculate tarball module name
424     if [[ -n ${KMNAME} ]]; then
425     # fixup kdebase-apps name
426     case ${KMNAME} in
427     kdebase-apps)
428     _kmname="kdebase" ;;
429     *)
430     _kmname="${KMNAME}" ;;
431     esac
432     else
433     _kmname=${PN}
434     fi
435     _kmname_pv="${_kmname}-${PV}"
436     case ${KDEBASE} in
437     kde-base)
438     case ${PV} in
439 abcd 1.90 4.[456].8[05] | 4.[456].9[023568])
440 scarabeus 1.87 # Unstable KDE SC releases
441     SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
442     # KDEPIM IS SPECIAL
443 abcd 1.90 [[ ${KMNAME} == "kdepim" || ${KMNAME} == "kdepim-runtime" ]] && SRC_URI="mirror://kde/unstable/kdepim/${PV}/${_kmname_pv}.tar.bz2"
444 scarabeus 1.87 ;;
445     *)
446     # Stable KDE SC releases
447     SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
448 tampakrap 1.98 # KDEPIM IS SPECIAL
449     [[ ${KMNAME} == "kdepim" || ${KMNAME} == "kdepim-runtime" ]] && SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
450 scarabeus 1.87 ;;
451     esac
452     ;;
453     koffice)
454     case ${PV} in
455     2.[1234].[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
456     *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
457     esac
458     ;;
459     kdevelop)
460     SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
461     ;;
462     esac
463     }
464    
465     _calculate_live_repo() {
466     debug-print-function ${FUNCNAME} "$@"
467    
468     SRC_URI=""
469     case ${KDE_SCM} in
470     svn)
471 reavertm 1.61 # Determine branch URL based on live type
472     local branch_prefix
473     case ${PV} in
474     9999*)
475     # trunk
476     branch_prefix="trunk/KDE"
477     ;;
478     *)
479     # branch
480 abcd 1.97 branch_prefix="branches/KDE/$(get_kde_version)"
481 reavertm 1.61 # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
482     # @DESCRIPTION
483     # Suffix appended to ESVN_PROJECT depending on fetched branch.
484     # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
485     ESVN_PROJECT_SUFFIX="-${PV}"
486     ;;
487     esac
488     # @ECLASS-VARIABLE: ESVN_MIRROR
489     # @DESCRIPTION:
490     # This variable allows easy overriding of default kde mirror service
491     # (anonsvn) with anything else you might want to use.
492     ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
493     # Split ebuild, or extragear stuff
494     if [[ -n ${KMNAME} ]]; then
495     ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
496     if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
497     KMMODULE="${PN}"
498     fi
499     # Split kde-base/ ebuilds: (they reside in trunk/KDE)
500     case ${KMNAME} in
501     kdebase-*)
502     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
503     ;;
504     kdelibs-*)
505     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
506     ;;
507     kdereview*)
508     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
509     ;;
510     kdesupport)
511     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
512     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
513     ;;
514     kde*)
515     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
516     ;;
517     extragear*|playground*)
518     # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
519     # build packages from same svn location.
520     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
521     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
522     ;;
523     koffice)
524     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
525     ;;
526     *)
527     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
528     ;;
529     esac
530     else
531     # kdelibs, kdepimlibs
532     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
533     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
534     fi
535     # @ECLASS-VARIABLE: ESVN_UP_FREQ
536     # @DESCRIPTION:
537     # This variable is used for specifying the timeout between svn synces
538     # for kde-base and koffice modules. Does not affect misc apps.
539     # Default value is 1 hour.
540     [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
541 scarabeus 1.87 ;;
542     git)
543     local _kmname
544     # @ECLASS-VARIABLE: EGIT_MIRROR
545     # @DESCRIPTION:
546     # This variable allows easy overriding of default kde mirror service
547     # (anongit) with anything else you might want to use.
548     EGIT_MIRROR=${EGIT_MIRROR:=git://anongit.kde.org}
549    
550     # @ECLASS-VARIABLE: EGIT_REPONAME
551     # @DESCRIPTION:
552     # This variable allows overriding of default repository
553     # name. Specify only if this differ from PN and KMNAME.
554     if [[ -n ${EGIT_REPONAME} ]]; then
555     # the repository and kmname different
556     _kmname=${EGIT_REPONAME}
557     elif [[ -n ${KMNAME} ]]; then
558     _kmname=${KMNAME}
559 scarabeus 1.22 else
560     _kmname=${PN}
561     fi
562 scarabeus 1.87
563     # default branching
564     case ${PV} in
565     9999*) ;;
566     *)
567 abcd 1.97 # set EGIT_BRANCH and EGIT_COMMIT to $(get_kde_version)
568 tampakrap 1.102 # every package is listed explicitly now, as upstream
569     # seems to love being different :(
570 scarabeus 1.87 case ${_kmname} in
571 tampakrap 1.102 blinken|cantor|kalgebra|kalzium|kanagram|kbruch| \
572     kdeplasma-addons|kdepim|kdepim-runtime|kdepimlibs| \
573     kgeography|khangman|kig|kiten|klettres|kmplot|kstars| \
574     ktouch|kturtle|kwordquiz|libkdeedu|mobipocket|okular| \
575     parley|rocs|step)
576 abcd 1.99 EGIT_BRANCH="$(get_kde_version)"
577     ;;
578 abcd 1.94 marble)
579 abcd 1.97 EGIT_BRANCH="kde-$(get_kde_version)"
580 abcd 1.94 ;;
581 tampakrap 1.102 gwenview|kamera|kate|kcolorchooser|kde-baseapps| \
582     kde-runtime|kde-workspace|kgamma| \
583     kdegraphics-strigi-analyzer|kdegraphics-thumbnailers| \
584     kdelibs|kimono|kolourpaint|konsole|korundum| \
585     kross-interpreters|kruler|ksaneplugin|ksnapshot| \
586     libkdcraw|libkexiv2|libkipi|libksane|perlqt|perlkde| \
587     pykde4|qtruby|qyoto|smokegen|smokekde|smokeqt|svgpart)
588     EGIT_BRANCH="KDE/$(get_kde_version)"
589     ;;
590     *)
591     ewarn "Unknown KMNAME ${_kmname}: Guessing branch name 'KDE/$(get_kde_version)'"
592     EGIT_BRANCH="KDE/$(get_kde_version)" ;;
593 scarabeus 1.22 esac
594     ;;
595 scarabeus 1.87 esac
596    
597 abcd 1.99 # default repo uri
598 tampakrap 1.102 EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
599 scarabeus 1.87
600     debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"
601     debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}"
602     ;;
603     esac
604     }
605    
606     case ${BUILD_TYPE} in
607     live) _calculate_live_repo ;;
608     *) _calculate_src_uri ;;
609 scarabeus 1.22 esac
610 ingmar 1.1
611     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
612    
613     # @ECLASS-VARIABLE: PREFIX
614     # @DESCRIPTION:
615 scarabeus 1.34 # Set the installation PREFIX for non kde-base applications. It defaults to /usr.
616 abcd 1.100 # kde-base packages go into KDE4 installation directory (/usr).
617     # No matter the PREFIX, package will be built against KDE installed in /usr.
618 ingmar 1.1
619     # @FUNCTION: kde4-base_pkg_setup
620     # @DESCRIPTION:
621 abcd 1.100 # Do some basic settings
622 ingmar 1.1 kde4-base_pkg_setup() {
623 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
624 ingmar 1.1
625 abcd 1.95 if has kdeprefix ${IUSE//+} && use kdeprefix; then
626     eerror "Sorry, kdeprefix support has been removed."
627     eerror "Please remove kdeprefix from your USE variable."
628     die "kdeprefix support has been removed"
629     fi
630    
631     if [[ ${CATEGORY}/${PN} != kde-base/kdelibs && ${CATEGORY}/${PN} != kde-base/kde-env ]] && \
632     { [[ ${KDE_REQUIRED} == always ]] || { [[ ${KDE_REQUIRED} == optional ]] && use kde; }; } && \
633     has_version kde-base/kdelibs[kdeprefix]; then
634     eerror "Sorry, kdeprefix support has been removed."
635     eerror "Please rebuild kdelibs without kdeprefix support."
636     die "kdeprefix support has been removed"
637     fi
638    
639 scarabeus 1.34 # Don't set KDEHOME during compilation, it will cause access violations
640 jmbsvicetto 1.13 unset KDEHOME
641    
642 scarabeus 1.91 # Check if gcc compiler is fresh enough.
643     # In theory should be in pkg_pretend but we check it only for kdelibs there
644     # and for others we do just quick scan in pkg_setup because pkg_pretend
645     # executions consume quite some time.
646 dilfridge 1.101 if [[ ${MERGE_TYPE} != binary ]]; then
647     [[ $(gcc-major-version) -lt 4 ]] || \
648     ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \
649     && die "Sorry, but gcc-4.3 and earlier wont work for KDE (see bug 354837)."
650     fi
651 scarabeus 1.91
652 abcd 1.96 KDEDIR=/usr
653     : ${PREFIX:=/usr}
654     EKDEDIR=${EPREFIX}/usr
655 abcd 1.57
656 wired 1.42 # Point to correct QT plugins path
657 abcd 1.100 QT_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/kde4/plugins/"
658 jmbsvicetto 1.13
659 scarabeus 1.47 # Fix XDG collision with sandbox
660     export XDG_CONFIG_HOME="${T}"
661 zlin 1.4 }
662    
663     # @FUNCTION: kde4-base_src_unpack
664     # @DESCRIPTION:
665     # This function unpacks the source tarballs for KDE4 applications.
666 ingmar 1.1 kde4-base_src_unpack() {
667 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
668 ingmar 1.1
669 scarabeus 1.30 if [[ ${BUILD_TYPE} = live ]]; then
670 scarabeus 1.87 case ${KDE_SCM} in
671     svn)
672     migrate_store_dir
673     subversion_src_unpack
674     ;;
675     git)
676 scarabeus 1.91 git-2_src_unpack
677 scarabeus 1.87 ;;
678     esac
679 ingmar 1.1 else
680 scarabeus 1.54 unpack ${A}
681 ingmar 1.1 fi
682 scarabeus 1.22 }
683 ingmar 1.1
684 scarabeus 1.44 # @FUNCTION: kde4-base_src_prepare
685 scarabeus 1.22 # @DESCRIPTION:
686     # General pre-configure and pre-compile function for KDE4 applications.
687     # It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
688 wired 1.42 # enable_selected_linguas() and enable_selected_doc_linguas()
689     # in kde4-functions.eclass(5) for further details.
690 scarabeus 1.22 kde4-base_src_prepare() {
691     debug-print-function ${FUNCNAME} "$@"
692 zlin 1.8
693 scarabeus 1.87 # enable handbook and linguas only when not using live ebuild
694    
695 zlin 1.8 # Only enable selected languages, used for KDE extragear apps.
696 scarabeus 1.30 if [[ -n ${KDE_LINGUAS} ]]; then
697 zlin 1.8 enable_selected_linguas
698     fi
699 ingmar 1.1
700 wired 1.42 # Enable/disable handbooks for kde4-base packages
701 scarabeus 1.44 # kde-l10n inherits kde4-base but is metpackage, so no check for doc
702     # kdelibs inherits kde4-base but handle installing the handbook itself
703 scarabeus 1.87 if ! has kde4-meta ${INHERITED} && has handbook ${IUSE//+}; then
704     if [[ ${KDEBASE} == kde-base ]]; then
705     if [[ ${PN} != kde-l10n && ${PN} != kdepim-l10n && ${PN} != kdelibs ]] && use !handbook; then
706     # documentation in kde4-functions
707     : ${KDE_DOC_DIRS:=doc}
708     local dir
709     for dir in ${KDE_DOC_DIRS}; do
710 abcd 1.90 sed -e "\!^[[:space:]]*add_subdirectory[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
711     -e "\!^[[:space:]]*ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
712     -e "\!^[[:space:]]*macro_optional_add_subdirectory[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
713     -e "\!^[[:space:]]*MACRO_OPTIONAL_ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
714 scarabeus 1.87 -i CMakeLists.txt || die "failed to comment out handbook"
715     done
716     fi
717     else
718     enable_selected_doc_linguas
719     fi
720 wired 1.42 fi
721    
722 reavertm 1.61 # SCM bootstrap
723     if [[ ${BUILD_TYPE} = live ]]; then
724 scarabeus 1.87 case ${KDE_SCM} in
725     svn) subversion_src_prepare ;;
726     esac
727 reavertm 1.61 fi
728 reavertm 1.58
729     # Apply patches
730 scarabeus 1.22 base_src_prepare
731 scarabeus 1.20
732 scarabeus 1.22 # Save library dependencies
733 scarabeus 1.30 if [[ -n ${KMSAVELIBS} ]] ; then
734 scarabeus 1.22 save_library_dependencies
735     fi
736 scarabeus 1.20
737 scarabeus 1.22 # Inject library dependencies
738 scarabeus 1.30 if [[ -n ${KMLOADLIBS} ]] ; then
739 scarabeus 1.22 load_library_dependencies
740 jmbsvicetto 1.13 fi
741 dilfridge 1.76
742 alexxy 1.78 # Replace KDE4Workspace library targets
743     find "${S}" -name CMakeLists.txt \
744     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' {} + \
745     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' {} + \
746     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' {} + \
747     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' {} + \
748     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' {} + \
749     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' {} + \
750     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' {} + \
751     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' {} + \
752     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' {} + \
753     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' {} + \
754     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' {} + \
755     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' {} + \
756     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' {} + \
757     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' {} + \
758     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' {} + \
759     || die 'failed to replace KDE4Workspace library targets'
760    
761 dilfridge 1.77 # Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...
762 alexxy 1.78 if [[ -z ${KDEBASE} ]]; then
763 dilfridge 1.77 find "${S}" -name "*.docbook" \
764     -exec sed -i -r \
765     -e 's:-//KDE//DTD DocBook XML V4\.1(\..)?-Based Variant V1\.[01]//EN:-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN:g' {} + \
766     || die 'failed to fix DocBook variant version'
767     fi
768 ingmar 1.1 }
769    
770     # @FUNCTION: kde4-base_src_configure
771     # @DESCRIPTION:
772     # Function for configuring the build of KDE4 applications.
773     kde4-base_src_configure() {
774     debug-print-function ${FUNCNAME} "$@"
775    
776     # Build tests in src_test only, where we override this value
777 abcd 1.56 local cmakeargs=(-DKDE4_BUILD_TESTS=OFF)
778 ingmar 1.1
779 scarabeus 1.54 if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
780 abcd 1.56 cmakeargs+=(-DKDE4_ENABLE_FINAL=ON)
781 scarabeus 1.54 fi
782    
783 reavertm 1.68 if has debug ${IUSE//+} && use debug; then
784     # Set "real" debug mode
785     CMAKE_BUILD_TYPE="Debugfull"
786     else
787     # Handle common release builds
788     append-cppflags -DQT_NO_DEBUG
789 scarabeus 1.38 fi
790    
791 ingmar 1.1 # Set distribution name
792 abcd 1.56 [[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo)
793 ingmar 1.1
794     # Here we set the install prefix
795 reavertm 1.61 tc-is-cross-compiler || cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
796 jmbsvicetto 1.13
797 wired 1.42 # Use colors
798 ingmar 1.1 QTEST_COLORED=1
799 jmbsvicetto 1.13
800 abcd 1.100 # Shadow existing installations
801 scarabeus 1.34 unset KDEDIRS
802    
803 reavertm 1.61 #qmake -query QT_INSTALL_LIBS unavailable when cross-compiling
804 abcd 1.96 tc-is-cross-compiler && cmakeargs+=(-DQT_LIBRARY_DIR=${ROOT}/usr/$(get_libdir)/qt4)
805 reavertm 1.61 #kde-config -path data unavailable when cross-compiling
806     tc-is-cross-compiler && cmakeargs+=(-DKDE4_DATA_DIR=${ROOT}/usr/share/apps/)
807    
808 abcd 1.96 # sysconf needs to be /etc, not /usr/etc
809     cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc)
810 abcd 1.56
811 abcd 1.57 if [[ $(declare -p mycmakeargs 2>&-) != "declare -a mycmakeargs="* ]]; then
812 abcd 1.56 mycmakeargs=(${mycmakeargs})
813 scarabeus 1.22 fi
814    
815 abcd 1.56 mycmakeargs=("${cmakeargs[@]}" "${mycmakeargs[@]}")
816 scarabeus 1.34
817     cmake-utils_src_configure
818 scarabeus 1.22 }
819    
820     # @FUNCTION: kde4-base_src_compile
821     # @DESCRIPTION:
822     # General function for compiling KDE4 applications.
823     kde4-base_src_compile() {
824     debug-print-function ${FUNCNAME} "$@"
825    
826 wired 1.42 cmake-utils_src_compile "$@"
827 ingmar 1.1 }
828    
829     # @FUNCTION: kde4-base_src_test
830     # @DESCRIPTION:
831     # Function for testing KDE4 applications.
832     kde4-base_src_test() {
833     debug-print-function ${FUNCNAME} "$@"
834    
835     # Override this value, set in kde4-base_src_configure()
836 abcd 1.56 mycmakeargs+=(-DKDE4_BUILD_TESTS=ON)
837 scarabeus 1.30 cmake-utils_src_configure
838     kde4-base_src_compile
839 ingmar 1.1
840 dilfridge 1.85 # When run as normal user during ebuild development with the ebuild command, the
841     # kde tests tend to access the session DBUS. This however is not possible in a real
842     # emerge or on the tinderbox.
843     # > make sure it does not happen, so bad tests can be recognized and disabled
844     unset DBUS_SESSION_BUS_ADDRESS
845    
846     if [[ ${VIRTUALX_REQUIRED} == always || ${VIRTUALX_REQUIRED} == test ]]; then
847     # check for sanity if anyone already redefined VIRTUALX_COMMAND from the default
848 scarabeus 1.87 if [[ ${VIRTUALX_COMMAND} != emake ]]; then
849 alexxy 1.78 # surprise- we are already INSIDE virtualmake!!!
850 dilfridge 1.85 debug-print "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
851     debug-print " You may NOT set VIRTUALX_COMMAND or call virtualmake from the ebuild."
852     debug-print " Setting VIRTUALX_REQUIRED is completely sufficient. See the"
853     debug-print " kde4-base.eclass docs for details... Applying workaround."
854 alexxy 1.78 cmake-utils_src_test
855     else
856 dilfridge 1.85 VIRTUALX_COMMAND="cmake-utils_src_test" virtualmake
857 alexxy 1.78 fi
858     else
859     cmake-utils_src_test
860     fi
861 ingmar 1.1 }
862    
863     # @FUNCTION: kde4-base_src_install
864     # @DESCRIPTION:
865     # Function for installing KDE4 applications.
866     kde4-base_src_install() {
867     debug-print-function ${FUNCNAME} "$@"
868    
869 scarabeus 1.30 if [[ -n ${KMSAVELIBS} ]] ; then
870 scarabeus 1.22 install_library_dependencies
871     fi
872    
873 reavertm 1.61 # Install common documentation of KDE4 applications
874 ingmar 1.1 local doc
875 reavertm 1.61 if ! has kde4-meta ${INHERITED}; then
876 reavertm 1.62 for doc in "${S}"/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
877 scarabeus 1.87 [[ -f ${doc} && -s ${doc} ]] && dodoc "${doc}"
878 reavertm 1.62 done
879     for doc in "${S}"/*/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
880 scarabeus 1.87 [[ -f ${doc} && -s ${doc} ]] && newdoc "${doc}" "$(basename $(dirname ${doc})).$(basename ${doc})"
881 ingmar 1.1 done
882     fi
883 reavertm 1.61
884     cmake-utils_src_install
885 abcd 1.90
886     # In EAPI 4+, we don't want ${PREFIX}/share/doc/HTML to be compressed,
887     # because then khelpcenter can't find the docs
888     [[ ${EAPI:-0} != 3 && -d ${ED}/${PREFIX}/share/doc/HTML ]] &&
889     docompress -x ${PREFIX}/share/doc/HTML
890 ingmar 1.1 }
891    
892 scarabeus 1.87 # @FUNCTION: kde4-base_pkg_preinst
893     # @DESCRIPTION:
894     # Function storing icon caches
895     kde4-base_pkg_preinst() {
896     debug-print-function ${FUNCNAME} "$@"
897    
898     gnome2_icon_savelist
899     }
900    
901 ingmar 1.1 # @FUNCTION: kde4-base_pkg_postinst
902     # @DESCRIPTION:
903     # Function to rebuild the KDE System Configuration Cache after an application has been installed.
904     kde4-base_pkg_postinst() {
905 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
906    
907 scarabeus 1.87 gnome2_icon_cache_update
908     fdo-mime_desktop_database_update
909     fdo-mime_mime_database_update
910 ingmar 1.1 buildsycoca
911 scarabeus 1.36
912 scarabeus 1.87 if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
913     if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
914     echo
915     ewarn "WARNING! you have kdeenable final useflag enabled."
916     ewarn "This useflag needs to be enabled on ALL kde using packages and"
917     ewarn "is known to cause issues."
918     ewarn "You are using this setup at your own risk and the kde team does not"
919     ewarn "take responsibilities for dead kittens."
920     echo
921     fi
922     if [[ ${BUILD_TYPE} = live ]]; then
923     echo
924     einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
925     einfo "Use it at your own risk."
926     einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
927     echo
928     fi
929     # for all 3rd party soft tell user that he SHOULD install kdebase-startkde or kdebase-runtime-meta
930     if [[ ${KDEBASE} != kde-base ]] && \
931     ! has_version 'kde-base/kdebase-runtime-meta' && \
932     ! has_version 'kde-base/kdebase-startkde'; then
933     if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
934     echo
935     ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
936     ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
937     ewarn "With this setting you are unsupported by KDE team."
938     ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID."
939     fi
940 reavertm 1.58 fi
941     fi
942 ingmar 1.1 }
943    
944     # @FUNCTION: kde4-base_pkg_postrm
945     # @DESCRIPTION:
946     # Function to rebuild the KDE System Configuration Cache after an application has been removed.
947     kde4-base_pkg_postrm() {
948 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
949    
950 scarabeus 1.87 gnome2_icon_cache_update
951     fdo-mime_desktop_database_update
952     fdo-mime_mime_database_update
953 ingmar 1.1 buildsycoca
954     }

  ViewVC Help
Powered by ViewVC 1.1.20