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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.99 - (hide annotations) (download)
Wed Jun 15 00:11:05 2011 UTC (3 years ago) by abcd
Branch: MAIN
Changes since 1.98: +12 -2 lines
Sync eclasses from overlay

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

  ViewVC Help
Powered by ViewVC 1.1.20