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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.101 - (hide annotations) (download)
Wed Jul 6 19:26:40 2011 UTC (3 years, 2 months ago) by dilfridge
Branch: MAIN
Changes since 1.100: +6 -4 lines
Only check for gcc version in kde4-base.eclass if we actually compile something

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 dilfridge 1.101 # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.100 2011/06/15 22:03:13 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 scarabeus 1.87 case ${_kmname} in
569 abcd 1.94 kdeplasma-addons | kdepim | kdepim-runtime | kdepimlibs | okular)
570 abcd 1.97 EGIT_BRANCH="$(get_kde_version)"
571 scarabeus 1.54 ;;
572 abcd 1.99 kdeedu)
573     EGIT_BRANCH="$(get_kde_version)"
574     ;;
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 abcd 1.99 # default repo uri
584     case ${_kmname} in
585     kdeedu)
586     EGIT_REPO_URI="${EGIT_MIRROR}/${PN}"
587     ;;
588     *)
589     EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
590     esac
591 scarabeus 1.87
592     debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"
593     debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}"
594     ;;
595     esac
596     }
597    
598     case ${BUILD_TYPE} in
599     live) _calculate_live_repo ;;
600     *) _calculate_src_uri ;;
601 scarabeus 1.22 esac
602 ingmar 1.1
603     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
604    
605     # @ECLASS-VARIABLE: PREFIX
606     # @DESCRIPTION:
607 scarabeus 1.34 # Set the installation PREFIX for non kde-base applications. It defaults to /usr.
608 abcd 1.100 # kde-base packages go into KDE4 installation directory (/usr).
609     # No matter the PREFIX, package will be built against KDE installed in /usr.
610 ingmar 1.1
611     # @FUNCTION: kde4-base_pkg_setup
612     # @DESCRIPTION:
613 abcd 1.100 # Do some basic settings
614 ingmar 1.1 kde4-base_pkg_setup() {
615 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
616 ingmar 1.1
617 abcd 1.95 if has kdeprefix ${IUSE//+} && use kdeprefix; then
618     eerror "Sorry, kdeprefix support has been removed."
619     eerror "Please remove kdeprefix from your USE variable."
620     die "kdeprefix support has been removed"
621     fi
622    
623     if [[ ${CATEGORY}/${PN} != kde-base/kdelibs && ${CATEGORY}/${PN} != kde-base/kde-env ]] && \
624     { [[ ${KDE_REQUIRED} == always ]] || { [[ ${KDE_REQUIRED} == optional ]] && use kde; }; } && \
625     has_version kde-base/kdelibs[kdeprefix]; then
626     eerror "Sorry, kdeprefix support has been removed."
627     eerror "Please rebuild kdelibs without kdeprefix support."
628     die "kdeprefix support has been removed"
629     fi
630    
631 scarabeus 1.34 # Don't set KDEHOME during compilation, it will cause access violations
632 jmbsvicetto 1.13 unset KDEHOME
633    
634 scarabeus 1.91 # Check if gcc compiler is fresh enough.
635     # In theory should be in pkg_pretend but we check it only for kdelibs there
636     # and for others we do just quick scan in pkg_setup because pkg_pretend
637     # executions consume quite some time.
638 dilfridge 1.101 if [[ ${MERGE_TYPE} != binary ]]; then
639     [[ $(gcc-major-version) -lt 4 ]] || \
640     ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \
641     && die "Sorry, but gcc-4.3 and earlier wont work for KDE (see bug 354837)."
642     fi
643 scarabeus 1.91
644 abcd 1.96 KDEDIR=/usr
645     : ${PREFIX:=/usr}
646     EKDEDIR=${EPREFIX}/usr
647 abcd 1.57
648 wired 1.42 # Point to correct QT plugins path
649 abcd 1.100 QT_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/kde4/plugins/"
650 jmbsvicetto 1.13
651 scarabeus 1.47 # Fix XDG collision with sandbox
652     export XDG_CONFIG_HOME="${T}"
653 zlin 1.4 }
654    
655     # @FUNCTION: kde4-base_src_unpack
656     # @DESCRIPTION:
657     # This function unpacks the source tarballs for KDE4 applications.
658 ingmar 1.1 kde4-base_src_unpack() {
659 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
660 ingmar 1.1
661 scarabeus 1.30 if [[ ${BUILD_TYPE} = live ]]; then
662 scarabeus 1.87 case ${KDE_SCM} in
663     svn)
664     migrate_store_dir
665     subversion_src_unpack
666     ;;
667     git)
668 scarabeus 1.91 git-2_src_unpack
669 scarabeus 1.87 ;;
670     esac
671 ingmar 1.1 else
672 scarabeus 1.54 unpack ${A}
673 ingmar 1.1 fi
674 scarabeus 1.22 }
675 ingmar 1.1
676 scarabeus 1.44 # @FUNCTION: kde4-base_src_prepare
677 scarabeus 1.22 # @DESCRIPTION:
678     # General pre-configure and pre-compile function for KDE4 applications.
679     # It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
680 wired 1.42 # enable_selected_linguas() and enable_selected_doc_linguas()
681     # in kde4-functions.eclass(5) for further details.
682 scarabeus 1.22 kde4-base_src_prepare() {
683     debug-print-function ${FUNCNAME} "$@"
684 zlin 1.8
685 scarabeus 1.87 # enable handbook and linguas only when not using live ebuild
686    
687 zlin 1.8 # Only enable selected languages, used for KDE extragear apps.
688 scarabeus 1.30 if [[ -n ${KDE_LINGUAS} ]]; then
689 zlin 1.8 enable_selected_linguas
690     fi
691 ingmar 1.1
692 wired 1.42 # Enable/disable handbooks for kde4-base packages
693 scarabeus 1.44 # kde-l10n inherits kde4-base but is metpackage, so no check for doc
694     # kdelibs inherits kde4-base but handle installing the handbook itself
695 scarabeus 1.87 if ! has kde4-meta ${INHERITED} && has handbook ${IUSE//+}; then
696     if [[ ${KDEBASE} == kde-base ]]; then
697     if [[ ${PN} != kde-l10n && ${PN} != kdepim-l10n && ${PN} != kdelibs ]] && use !handbook; then
698     # documentation in kde4-functions
699     : ${KDE_DOC_DIRS:=doc}
700     local dir
701     for dir in ${KDE_DOC_DIRS}; do
702 abcd 1.90 sed -e "\!^[[:space:]]*add_subdirectory[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
703     -e "\!^[[:space:]]*ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
704     -e "\!^[[:space:]]*macro_optional_add_subdirectory[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
705     -e "\!^[[:space:]]*MACRO_OPTIONAL_ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${dir}[[:space:]]*)!s/^/#DONOTCOMPILE /" \
706 scarabeus 1.87 -i CMakeLists.txt || die "failed to comment out handbook"
707     done
708     fi
709     else
710     enable_selected_doc_linguas
711     fi
712 wired 1.42 fi
713    
714 reavertm 1.61 # SCM bootstrap
715     if [[ ${BUILD_TYPE} = live ]]; then
716 scarabeus 1.87 case ${KDE_SCM} in
717     svn) subversion_src_prepare ;;
718     esac
719 reavertm 1.61 fi
720 reavertm 1.58
721     # Apply patches
722 scarabeus 1.22 base_src_prepare
723 scarabeus 1.20
724 scarabeus 1.22 # Save library dependencies
725 scarabeus 1.30 if [[ -n ${KMSAVELIBS} ]] ; then
726 scarabeus 1.22 save_library_dependencies
727     fi
728 scarabeus 1.20
729 scarabeus 1.22 # Inject library dependencies
730 scarabeus 1.30 if [[ -n ${KMLOADLIBS} ]] ; then
731 scarabeus 1.22 load_library_dependencies
732 jmbsvicetto 1.13 fi
733 dilfridge 1.76
734 alexxy 1.78 # Replace KDE4Workspace library targets
735     find "${S}" -name CMakeLists.txt \
736     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' {} + \
737     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' {} + \
738     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' {} + \
739     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' {} + \
740     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' {} + \
741     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' {} + \
742     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' {} + \
743     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' {} + \
744     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' {} + \
745     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' {} + \
746     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' {} + \
747     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' {} + \
748     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' {} + \
749     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' {} + \
750     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' {} + \
751     || die 'failed to replace KDE4Workspace library targets'
752    
753 dilfridge 1.77 # Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...
754 alexxy 1.78 if [[ -z ${KDEBASE} ]]; then
755 dilfridge 1.77 find "${S}" -name "*.docbook" \
756     -exec sed -i -r \
757     -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' {} + \
758     || die 'failed to fix DocBook variant version'
759     fi
760 ingmar 1.1 }
761    
762     # @FUNCTION: kde4-base_src_configure
763     # @DESCRIPTION:
764     # Function for configuring the build of KDE4 applications.
765     kde4-base_src_configure() {
766     debug-print-function ${FUNCNAME} "$@"
767    
768     # Build tests in src_test only, where we override this value
769 abcd 1.56 local cmakeargs=(-DKDE4_BUILD_TESTS=OFF)
770 ingmar 1.1
771 scarabeus 1.54 if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
772 abcd 1.56 cmakeargs+=(-DKDE4_ENABLE_FINAL=ON)
773 scarabeus 1.54 fi
774    
775 reavertm 1.68 if has debug ${IUSE//+} && use debug; then
776     # Set "real" debug mode
777     CMAKE_BUILD_TYPE="Debugfull"
778     else
779     # Handle common release builds
780     append-cppflags -DQT_NO_DEBUG
781 scarabeus 1.38 fi
782    
783 ingmar 1.1 # Set distribution name
784 abcd 1.56 [[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo)
785 ingmar 1.1
786     # Here we set the install prefix
787 reavertm 1.61 tc-is-cross-compiler || cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
788 jmbsvicetto 1.13
789 wired 1.42 # Use colors
790 ingmar 1.1 QTEST_COLORED=1
791 jmbsvicetto 1.13
792 abcd 1.100 # Shadow existing installations
793 scarabeus 1.34 unset KDEDIRS
794    
795 reavertm 1.61 #qmake -query QT_INSTALL_LIBS unavailable when cross-compiling
796 abcd 1.96 tc-is-cross-compiler && cmakeargs+=(-DQT_LIBRARY_DIR=${ROOT}/usr/$(get_libdir)/qt4)
797 reavertm 1.61 #kde-config -path data unavailable when cross-compiling
798     tc-is-cross-compiler && cmakeargs+=(-DKDE4_DATA_DIR=${ROOT}/usr/share/apps/)
799    
800 abcd 1.96 # sysconf needs to be /etc, not /usr/etc
801     cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc)
802 abcd 1.56
803 abcd 1.57 if [[ $(declare -p mycmakeargs 2>&-) != "declare -a mycmakeargs="* ]]; then
804 abcd 1.56 mycmakeargs=(${mycmakeargs})
805 scarabeus 1.22 fi
806    
807 abcd 1.56 mycmakeargs=("${cmakeargs[@]}" "${mycmakeargs[@]}")
808 scarabeus 1.34
809     cmake-utils_src_configure
810 scarabeus 1.22 }
811    
812     # @FUNCTION: kde4-base_src_compile
813     # @DESCRIPTION:
814     # General function for compiling KDE4 applications.
815     kde4-base_src_compile() {
816     debug-print-function ${FUNCNAME} "$@"
817    
818 wired 1.42 cmake-utils_src_compile "$@"
819 ingmar 1.1 }
820    
821     # @FUNCTION: kde4-base_src_test
822     # @DESCRIPTION:
823     # Function for testing KDE4 applications.
824     kde4-base_src_test() {
825     debug-print-function ${FUNCNAME} "$@"
826    
827     # Override this value, set in kde4-base_src_configure()
828 abcd 1.56 mycmakeargs+=(-DKDE4_BUILD_TESTS=ON)
829 scarabeus 1.30 cmake-utils_src_configure
830     kde4-base_src_compile
831 ingmar 1.1
832 dilfridge 1.85 # When run as normal user during ebuild development with the ebuild command, the
833     # kde tests tend to access the session DBUS. This however is not possible in a real
834     # emerge or on the tinderbox.
835     # > make sure it does not happen, so bad tests can be recognized and disabled
836     unset DBUS_SESSION_BUS_ADDRESS
837    
838     if [[ ${VIRTUALX_REQUIRED} == always || ${VIRTUALX_REQUIRED} == test ]]; then
839     # check for sanity if anyone already redefined VIRTUALX_COMMAND from the default
840 scarabeus 1.87 if [[ ${VIRTUALX_COMMAND} != emake ]]; then
841 alexxy 1.78 # surprise- we are already INSIDE virtualmake!!!
842 dilfridge 1.85 debug-print "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
843     debug-print " You may NOT set VIRTUALX_COMMAND or call virtualmake from the ebuild."
844     debug-print " Setting VIRTUALX_REQUIRED is completely sufficient. See the"
845     debug-print " kde4-base.eclass docs for details... Applying workaround."
846 alexxy 1.78 cmake-utils_src_test
847     else
848 dilfridge 1.85 VIRTUALX_COMMAND="cmake-utils_src_test" virtualmake
849 alexxy 1.78 fi
850     else
851     cmake-utils_src_test
852     fi
853 ingmar 1.1 }
854    
855     # @FUNCTION: kde4-base_src_install
856     # @DESCRIPTION:
857     # Function for installing KDE4 applications.
858     kde4-base_src_install() {
859     debug-print-function ${FUNCNAME} "$@"
860    
861 scarabeus 1.30 if [[ -n ${KMSAVELIBS} ]] ; then
862 scarabeus 1.22 install_library_dependencies
863     fi
864    
865 reavertm 1.61 # Install common documentation of KDE4 applications
866 ingmar 1.1 local doc
867 reavertm 1.61 if ! has kde4-meta ${INHERITED}; then
868 reavertm 1.62 for doc in "${S}"/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
869 scarabeus 1.87 [[ -f ${doc} && -s ${doc} ]] && dodoc "${doc}"
870 reavertm 1.62 done
871     for doc in "${S}"/*/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
872 scarabeus 1.87 [[ -f ${doc} && -s ${doc} ]] && newdoc "${doc}" "$(basename $(dirname ${doc})).$(basename ${doc})"
873 ingmar 1.1 done
874     fi
875 reavertm 1.61
876     cmake-utils_src_install
877 abcd 1.90
878     # In EAPI 4+, we don't want ${PREFIX}/share/doc/HTML to be compressed,
879     # because then khelpcenter can't find the docs
880     [[ ${EAPI:-0} != 3 && -d ${ED}/${PREFIX}/share/doc/HTML ]] &&
881     docompress -x ${PREFIX}/share/doc/HTML
882 ingmar 1.1 }
883    
884 scarabeus 1.87 # @FUNCTION: kde4-base_pkg_preinst
885     # @DESCRIPTION:
886     # Function storing icon caches
887     kde4-base_pkg_preinst() {
888     debug-print-function ${FUNCNAME} "$@"
889    
890     gnome2_icon_savelist
891     }
892    
893 ingmar 1.1 # @FUNCTION: kde4-base_pkg_postinst
894     # @DESCRIPTION:
895     # Function to rebuild the KDE System Configuration Cache after an application has been installed.
896     kde4-base_pkg_postinst() {
897 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
898    
899 scarabeus 1.87 gnome2_icon_cache_update
900     fdo-mime_desktop_database_update
901     fdo-mime_mime_database_update
902 ingmar 1.1 buildsycoca
903 scarabeus 1.36
904 scarabeus 1.87 if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
905     if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
906     echo
907     ewarn "WARNING! you have kdeenable final useflag enabled."
908     ewarn "This useflag needs to be enabled on ALL kde using packages and"
909     ewarn "is known to cause issues."
910     ewarn "You are using this setup at your own risk and the kde team does not"
911     ewarn "take responsibilities for dead kittens."
912     echo
913     fi
914     if [[ ${BUILD_TYPE} = live ]]; then
915     echo
916     einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
917     einfo "Use it at your own risk."
918     einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
919     echo
920     fi
921     # for all 3rd party soft tell user that he SHOULD install kdebase-startkde or kdebase-runtime-meta
922     if [[ ${KDEBASE} != kde-base ]] && \
923     ! has_version 'kde-base/kdebase-runtime-meta' && \
924     ! has_version 'kde-base/kdebase-startkde'; then
925     if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
926     echo
927     ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
928     ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
929     ewarn "With this setting you are unsupported by KDE team."
930     ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID."
931     fi
932 reavertm 1.58 fi
933     fi
934 ingmar 1.1 }
935    
936     # @FUNCTION: kde4-base_pkg_postrm
937     # @DESCRIPTION:
938     # Function to rebuild the KDE System Configuration Cache after an application has been removed.
939     kde4-base_pkg_postrm() {
940 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
941    
942 scarabeus 1.87 gnome2_icon_cache_update
943     fdo-mime_desktop_database_update
944     fdo-mime_mime_database_update
945 ingmar 1.1 buildsycoca
946     }

  ViewVC Help
Powered by ViewVC 1.1.20