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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20