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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.97 - (hide annotations) (download)
Tue Jun 7 20:11:04 2011 UTC (3 years, 3 months ago) by abcd
Branch: MAIN
Changes since 1.96: +11 -26 lines
Sync KDE eclasses with overlay again (prerequisite for slotmoves)

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

  ViewVC Help
Powered by ViewVC 1.1.20