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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.103 - (hide annotations) (download)
Mon Jul 11 17:16:04 2011 UTC (5 years, 2 months ago) by scarabeus
Branch: MAIN
Changes since 1.102: +4 -3 lines
Detect the gcc version in a really saner conditional.

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

  ViewVC Help
Powered by ViewVC 1.1.20