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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.96 - (hide annotations) (download)
Mon Jun 6 21:38:18 2011 UTC (3 years, 5 months ago) by abcd
Branch: MAIN
Changes since 1.95: +14 -72 lines
Goodbye kdeprefix (for >= 4.6.4)

Remove all usage of the kdeprefix flag that doesn't die immediately;
remove the flag itself on >= 4.6.4

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

  ViewVC Help
Powered by ViewVC 1.1.20