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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.98 - (hide annotations) (download)
Thu Jun 9 21:05:45 2011 UTC (3 years, 4 months ago) by tampakrap
Branch: MAIN
Changes since 1.97: +4 -6 lines
Update KDE eclasses, add support for KDEPIM 4.6.0

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

  ViewVC Help
Powered by ViewVC 1.1.20