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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.82 - (hide annotations) (download)
Mon Jan 3 20:36:17 2011 UTC (3 years, 11 months ago) by dilfridge
Branch: MAIN
Changes since 1.81: +5 -1 lines
Add RDEPEND on oxygen-icons to all ebuilds using kde4-base.eclass. Ack'ed by tampakrap.

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 dilfridge 1.82 # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.81 2010/12/29 17:06:51 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.22 # NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
14     # eclass will fail with version older than 2.
15    
16 alexxy 1.78 # @ECLASS-VARIABLE: VIRTUALX_REQUIRED
17     # @DESCRIPTION:
18     # Do we need an X server? Valid values are "always", "optional", and "manual".
19     # "tests" is a synonym for "optional". While virtualx.eclass supports in principle
20     # also the use of an X server during other ebuild phases, we only use it in
21     # src_test here. Most likely you'll want to set "optional", which introduces the
22     # use-flag "test" (if not already present), adds dependencies conditional on that
23     # use-flag, and automatically runs (only) the ebuild test phase with a virtual X server
24     # present. This makes things a lot more comfortable than the bare virtualx eclass.
25    
26     # In case the variable is not set in the ebuild, let virtualx eclass not do anything
27     : ${VIRTUALX_REQUIRED:=manual}
28    
29     inherit kde4-functions base virtualx eutils
30 reavertm 1.61
31     get_build_type
32     if [[ ${BUILD_TYPE} = live ]]; then
33     if [[ ${KDEBASE} = kdevelop ]]; then
34     inherit git
35     else
36     inherit subversion
37     fi
38     fi
39    
40 scarabeus 1.52 # @ECLASS-VARIABLE: CMAKE_REQUIRED
41 scarabeus 1.44 # @DESCRIPTION:
42 scarabeus 1.47 # Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'.
43     # Please note that if it's set to 'never' you need to explicitly override following phases:
44     # src_configure, src_compile, src_test and src_install.
45     # Defaults to 'always'.
46 scarabeus 1.54 : ${CMAKE_REQUIRED:=always}
47 reavertm 1.61 if [[ ${CMAKE_REQUIRED} = always ]]; then
48 scarabeus 1.47 buildsystem_eclass="cmake-utils"
49     export_fns="src_configure src_compile src_test src_install"
50 scarabeus 1.44 fi
51    
52 reavertm 1.61 # Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
53     if [[ -n ${KDE_MINIMAL} ]]; then
54     for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
55     [[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
56     done
57     unset slot
58     [[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
59     else
60     KDE_MINIMAL_VALID=1
61     fi
62    
63     # @ECLASS-VARIABLE: KDE_MINIMAL
64     # @DESCRIPTION:
65     # This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
66 reavertm 1.66 # version for apps to work. Currently defaults to 4.4
67 reavertm 1.61 # One may override this variable to raise version requirements.
68     # For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
69     # Note that it is fixed to ${SLOT} for kde-base packages.
70 reavertm 1.66 KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
71 scarabeus 1.48
72 reavertm 1.61 # Set slot for packages in kde-base, koffice and kdevelop
73     case ${KDEBASE} in
74     kde-base)
75     # Determine SLOT from PVs
76     case ${PV} in
77     *.9999*) SLOT="${PV/.9999*/}" ;; # stable live
78 reavertm 1.72 4.6* | 4.5.[6-9][0-9]*) SLOT="4.6" ;;
79     4.5* | 4.4.[6-9][0-9]*) SLOT="4.5" ;;
80     4.4* | 4.3.[6-9][0-9]*) SLOT="4.4" ;;
81 reavertm 1.61 9999*) SLOT="live" ;; # regular live
82     *) die "Unsupported ${PV}" ;;
83     esac
84     KDE_MINIMAL="${SLOT}"
85     ;;
86     koffice)
87     SLOT="2"
88     ;;
89     kdevelop)
90     if [[ ${BUILD_TYPE} = live ]]; then
91 reavertm 1.65 # @ECLASS-VARIABLE: KDEVELOP_VERSION
92     # @DESCRIPTION:
93     # Specifies KDevelop version. Default is 4.0.0 for tagged packages and 9999 for live packages.
94     # Applies to KDEBASE=kdevelop only.
95     KDEVELOP_VERSION="${KDEVELOP_VERSION:-9999}"
96     # @ECLASS-VARIABLE: KDEVPLATFORM_VERSION
97     # @DESCRIPTION:
98     # Specifies KDevplatform version. Default is 1.0.0 for tagged packages and 9999 for live packages.
99     # Applies to KDEBASE=kdevelop only.
100     KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-9999}"
101 reavertm 1.61 else
102     case ${PN} in
103     kdevelop|quanta)
104     KDEVELOP_VERSION=${PV}
105     KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)"
106     ;;
107 reavertm 1.65 kdevplatform)
108 reavertm 1.61 KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)"
109     KDEVPLATFORM_VERSION=${PV}
110 reavertm 1.65 ;;
111     *)
112     KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.0.0}"
113     KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-1.0.0}"
114 reavertm 1.61 esac
115     fi
116     SLOT="4"
117     ;;
118     esac
119    
120 reavertm 1.66 slot_is_at_least 4.5 ${KDE_MINIMAL} && CMAKE_MIN_VERSION="2.8.1"
121 scarabeus 1.22
122 reavertm 1.61 inherit ${buildsystem_eclass}
123 scarabeus 1.47
124 reavertm 1.61 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_postinst pkg_postrm
125 scarabeus 1.44
126 scarabeus 1.47 unset buildsystem_eclass
127     unset export_fns
128 ingmar 1.1
129 alexxy 1.78 # @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
130     # @DESCRIPTION:
131     # Is qt-declarative required? Possible values are 'always', 'optional' and 'never'.
132     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
133     DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
134    
135     # @ECLASS-VARIABLE: QTHELP_REQUIRED
136     # @DESCRIPTION:
137     # Is qt-assistant required? Possible values are 'always', 'optional' and 'never'.
138     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
139     QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}"
140    
141 philantrop 1.7 # @ECLASS-VARIABLE: OPENGL_REQUIRED
142     # @DESCRIPTION:
143     # Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
144     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
145     OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
146    
147 abcd 1.56 # @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED
148     # @DESCRIPTION:
149     # Is qt-multimedia required? Possible values are 'always', 'optional' and 'never'.
150     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
151     MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
152    
153 scarabeus 1.31 # @ECLASS-VARIABLE: WEBKIT_REQUIRED
154     # @DESCRIPTION:
155     # Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
156     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
157     WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
158    
159 zlin 1.4 # @ECLASS-VARIABLE: CPPUNIT_REQUIRED
160     # @DESCRIPTION:
161     # Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
162     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
163     CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
164    
165 scarabeus 1.34 # @ECLASS-VARIABLE: KDE_REQUIRED
166     # @DESCRIPTION:
167     # Is kde required? Possible values are 'always', 'optional' and 'never'.
168     # This variable must be set before inheriting any eclasses. Defaults to 'always'
169 reavertm 1.74 # If set to 'always' or 'optional', KDE_MINIMAL may be overriden as well.
170 scarabeus 1.34 # Note that for kde-base packages this variable is fixed to 'always'.
171     KDE_REQUIRED="${KDE_REQUIRED:-always}"
172    
173 reavertm 1.69 # @ECLASS-VARIABLE: KDE_HANDBOOK
174     # @DESCRIPTION:
175 reavertm 1.74 # Set to enable handbook in application. Possible values are 'always', 'optional'
176     # (handbook USE flag) and 'never'.
177     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
178     # It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it
179     # ensures buildtime and runtime dependencies.
180     KDE_HANDBOOK="${KDE_HANDBOOK:-never}"
181 reavertm 1.69
182 scarabeus 1.47 # Setup packages inheriting this eclass
183     case ${KDEBASE} in
184     kde-base)
185 reavertm 1.69 HOMEPAGE="http://www.kde.org/"
186     LICENSE="GPL-2"
187 scarabeus 1.47 if [[ $BUILD_TYPE = live ]]; then
188     # Disable tests for live ebuilds
189     RESTRICT+=" test"
190     # Live ebuilds in kde-base default to kdeprefix by default
191     IUSE+=" +kdeprefix"
192     else
193     # All other ebuild types default to -kdeprefix as before
194     IUSE+=" kdeprefix"
195     fi
196     # This code is to prevent portage from searching GENTOO_MIRRORS for
197     # packages that will never be mirrored. (As they only will ever be in
198     # the overlay).
199     case ${PV} in
200     *9999* | 4.?.[6-9]?)
201     RESTRICT+=" mirror"
202     ;;
203     esac
204     # Block installation of other SLOTS unless kdeprefix
205     RDEPEND+=" $(block_other_slots)"
206     ;;
207 reavertm 1.69 koffice)
208     HOMEPAGE="http://www.koffice.org/"
209     LICENSE="GPL-2"
210     ;;
211     kdevelop)
212     HOMEPAGE="http://www.kdevelop.org/"
213     LICENSE="GPL-2"
214     ;;
215 scarabeus 1.47 esac
216 scarabeus 1.34
217 scarabeus 1.47 # @ECLASS-VARIABLE: QT_MINIMAL
218 scarabeus 1.39 # @DESCRIPTION:
219 reavertm 1.66 # Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1...
220 alexxy 1.78 # 4.6.0 for 4.4, 4.6.3 for 4.5, and 4.7.0 for 4.6 and later
221     if slot_is_at_least 4.6 "${KDE_MINIMAL}"; then
222     QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
223     elif slot_is_at_least 4.5 "${KDE_MINIMAL}"; then
224 reavertm 1.66 QT_MINIMAL="${QT_MINIMAL:-4.6.3}"
225     else
226 abcd 1.55 QT_MINIMAL="${QT_MINIMAL:-4.6.0}"
227 scarabeus 1.47 fi
228    
229 alexxy 1.78 # Declarative dependencies
230     qtdeclarativedepend="
231     >=x11-libs/qt-declarative-${QT_MINIMAL}:4
232     "
233     case ${DECLARATIVE_REQUIRED} in
234     always)
235     COMMONDEPEND+=" ${qtdeclarativedepend}"
236     ;;
237     optional)
238     IUSE+=" declarative"
239     COMMONDEPEND+=" declarative? ( ${qtdeclarativedepend} )"
240     ;;
241     *) ;;
242     esac
243     unset qtdeclarativedepend
244    
245     # QtHelp dependencies
246     qthelpdepend="
247     >=x11-libs/qt-assistant-${QT_MINIMAL}:4
248     "
249     case ${QTHELP_REQUIRED} in
250     always)
251     COMMONDEPEND+=" ${qthelpdepend}"
252     ;;
253     optional)
254     IUSE+=" qthelp"
255     COMMONDEPEND+=" qthelp? ( ${qthelpdepend} )"
256     ;;
257     esac
258     unset qthelpdepend
259    
260 scarabeus 1.34 # OpenGL dependencies
261     qtopengldepend="
262 scarabeus 1.47 >=x11-libs/qt-opengl-${QT_MINIMAL}:4
263 scarabeus 1.34 "
264     case ${OPENGL_REQUIRED} in
265     always)
266 wired 1.42 COMMONDEPEND+=" ${qtopengldepend}"
267 scarabeus 1.34 ;;
268     optional)
269 wired 1.42 IUSE+=" opengl"
270     COMMONDEPEND+=" opengl? ( ${qtopengldepend} )"
271 scarabeus 1.34 ;;
272     *) ;;
273     esac
274     unset qtopengldepend
275    
276 abcd 1.56 # MultiMedia dependencies
277     qtmultimediadepend="
278     >=x11-libs/qt-multimedia-${QT_MINIMAL}:4
279     "
280     case ${MULTIMEDIA_REQUIRED} in
281     always)
282     COMMONDEPEND+=" ${qtmultimediadepend}"
283     ;;
284     optional)
285     IUSE+=" multimedia"
286     COMMONDEPEND+=" multimedia? ( ${qtmultimediadepend} )"
287     ;;
288     *) ;;
289     esac
290     unset qtmultimediadepend
291    
292 scarabeus 1.34 # WebKit dependencies
293 scarabeus 1.44 case ${KDE_REQUIRED} in
294     always)
295     qtwebkitusedeps="[kde]"
296     ;;
297     optional)
298     qtwebkitusedeps="[kde?]"
299     ;;
300     *) ;;
301     esac
302 scarabeus 1.34 qtwebkitdepend="
303 scarabeus 1.47 >=x11-libs/qt-webkit-${QT_MINIMAL}:4${qtwebkitusedeps}
304 scarabeus 1.34 "
305 scarabeus 1.44 unset qtwebkitusedeps
306 scarabeus 1.34 case ${WEBKIT_REQUIRED} in
307     always)
308 wired 1.42 COMMONDEPEND+=" ${qtwebkitdepend}"
309 scarabeus 1.34 ;;
310     optional)
311 wired 1.42 IUSE+=" webkit"
312     COMMONDEPEND+=" webkit? ( ${qtwebkitdepend} )"
313 scarabeus 1.34 ;;
314     *) ;;
315     esac
316     unset qtwebkitdepend
317    
318     # CppUnit dependencies
319     cppuintdepend="
320     dev-util/cppunit
321     "
322 scarabeus 1.22 case ${CPPUNIT_REQUIRED} in
323 zlin 1.4 always)
324 wired 1.42 DEPEND+=" ${cppuintdepend}"
325 scarabeus 1.22 ;;
326 zlin 1.4 optional)
327 wired 1.42 IUSE+=" test"
328     DEPEND+=" test? ( ${cppuintdepend} )"
329 scarabeus 1.22 ;;
330 scarabeus 1.34 *) ;;
331 zlin 1.4 esac
332 scarabeus 1.34 unset cppuintdepend
333    
334     # KDE dependencies
335 reavertm 1.65 # Qt accessibility classes are needed in various places, bug 325461
336 scarabeus 1.34 kdecommondepend="
337 reavertm 1.73 dev-lang/perl
338 scarabeus 1.47 >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
339 reavertm 1.64 >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus]
340     >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility,kde]
341 scarabeus 1.47 >=x11-libs/qt-script-${QT_MINIMAL}:4
342     >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support]
343     >=x11-libs/qt-svg-${QT_MINIMAL}:4
344     >=x11-libs/qt-test-${QT_MINIMAL}:4
345 wired 1.42 !aqua? (
346     x11-libs/libXext
347     x11-libs/libXt
348     x11-libs/libXxf86vm
349     )
350 scarabeus 1.34 "
351 reavertm 1.61
352 scarabeus 1.34 if [[ ${PN} != kdelibs ]]; then
353 reavertm 1.73 kdecommondepend+=" $(add_kdebase_dep kdelibs)"
354     if [[ ${KDEBASE} = kdevelop ]]; then
355     if [[ ${PN} != kdevplatform ]]; then
356     # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED
357     # @DESCRIPTION:
358     # Specifies whether kdevplatform is required. Possible values are 'always' (default) and 'never'.
359     # Applies to KDEBASE=kdevelop only.
360     KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}"
361     case ${KDEVPLATFORM_REQUIRED} in
362     always)
363     kdecommondepend+="
364     >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION}
365     "
366     ;;
367     *) ;;
368     esac
369 reavertm 1.61 fi
370 ingmar 1.1 fi
371     fi
372 scarabeus 1.34 kdedepend="
373 reavertm 1.60 dev-util/automoc
374 scarabeus 1.34 dev-util/pkgconfig
375 scarabeus 1.54 !aqua? (
376 abcd 1.55 || ( >=x11-libs/libXtst-1.1.0 <x11-proto/xextproto-7.1.0 )
377 scarabeus 1.54 x11-proto/xf86vidmodeproto
378     )
379 scarabeus 1.34 "
380 reavertm 1.73 kderdepend=""
381 reavertm 1.69
382 dilfridge 1.82 if [[ ${PN} != oxygen-icons ]]; then
383     kderdepend+=" $(add_kdebase_dep oxygen-icons)"
384     fi
385    
386 reavertm 1.74 kdehandbookdepend="
387     app-text/docbook-xml-dtd:4.2
388     app-text/docbook-xsl-stylesheets
389     "
390     kdehandbookrdepend="
391     $(add_kdebase_dep kdelibs 'handbook')
392     "
393     case ${KDE_HANDBOOK} in
394     always)
395     kdedepend+=" ${kdehandbookdepend}"
396     [[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}"
397     ;;
398     optional)
399     IUSE+=" +handbook"
400     kdedepend+=" handbook? ( ${kdehandbookdepend} )"
401     [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )"
402     ;;
403     *) ;;
404     esac
405     unset kdehandbookdepend kdehandbookrdepend
406 reavertm 1.69
407 scarabeus 1.34 case ${KDE_REQUIRED} in
408     always)
409 wired 1.42 IUSE+=" aqua"
410 reavertm 1.73 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}"
411     [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}"
412     [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}"
413 scarabeus 1.34 ;;
414     optional)
415 wired 1.42 IUSE+=" aqua kde"
416 reavertm 1.73 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
417     [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )"
418     [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )"
419 scarabeus 1.34 ;;
420     *) ;;
421     esac
422 scarabeus 1.54
423 reavertm 1.73 unset kdecommondepend kdedepend kderdepend
424 scarabeus 1.34
425     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
426     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
427     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
428    
429     # Accumulate dependencies set by this eclass
430 wired 1.42 DEPEND+=" ${COMMONDEPEND}"
431     RDEPEND+=" ${COMMONDEPEND}"
432     unset COMMONDEPEND
433 ingmar 1.1
434 scarabeus 1.54 # Add experimental kdeenablefinal, disabled by default
435     IUSE+=" kdeenablefinal"
436    
437 ingmar 1.1 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
438     # koffice ebuild, the URI should be set in the ebuild itself
439 scarabeus 1.30 case ${BUILD_TYPE} in
440 scarabeus 1.22 live)
441 scarabeus 1.30 SRC_URI=""
442 reavertm 1.61 if has subversion ${INHERITED}; then
443     # Determine branch URL based on live type
444     local branch_prefix
445     case ${PV} in
446     9999*)
447     # trunk
448     branch_prefix="trunk/KDE"
449     ;;
450     *)
451     # branch
452     branch_prefix="branches/KDE/${SLOT}"
453     # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
454     # @DESCRIPTION
455     # Suffix appended to ESVN_PROJECT depending on fetched branch.
456     # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
457     ESVN_PROJECT_SUFFIX="-${PV}"
458     ;;
459     esac
460     # @ECLASS-VARIABLE: ESVN_MIRROR
461     # @DESCRIPTION:
462     # This variable allows easy overriding of default kde mirror service
463     # (anonsvn) with anything else you might want to use.
464     ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
465     # Split ebuild, or extragear stuff
466     if [[ -n ${KMNAME} ]]; then
467     ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
468     if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
469     KMMODULE="${PN}"
470     fi
471     # Split kde-base/ ebuilds: (they reside in trunk/KDE)
472     case ${KMNAME} in
473     kdebase-*)
474     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
475     ;;
476     kdelibs-*)
477     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
478     ;;
479     kdereview*)
480     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
481     ;;
482     kdesupport)
483     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
484     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
485     ;;
486     kde*)
487     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
488     ;;
489     extragear*|playground*)
490     # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
491     # build packages from same svn location.
492     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
493     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
494     ;;
495     koffice)
496     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
497     ;;
498     *)
499     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
500     ;;
501     esac
502     else
503     # kdelibs, kdepimlibs
504     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
505     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
506     fi
507     # @ECLASS-VARIABLE: ESVN_UP_FREQ
508     # @DESCRIPTION:
509     # This variable is used for specifying the timeout between svn synces
510     # for kde-base and koffice modules. Does not affect misc apps.
511     # Default value is 1 hour.
512     [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
513     elif has git ${INHERITED}; then
514 scarabeus 1.34 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
515 jmbsvicetto 1.25 KMMODULE="${PN}"
516 scarabeus 1.22 fi
517 reavertm 1.61 case ${KDEBASE} in
518     kdevelop)
519 alexxy 1.78 EGIT_REPO_URI="git://git.kde.org/${KMMODULE}"
520 scarabeus 1.22 ;;
521     esac
522 reavertm 1.61 fi
523 scarabeus 1.22 ;;
524     *)
525 scarabeus 1.30 if [[ -n ${KDEBASE} ]]; then
526 scarabeus 1.22 if [[ -n ${KMNAME} ]]; then
527 scarabeus 1.30 case ${KMNAME} in
528     kdebase-apps)
529     _kmname="kdebase" ;;
530     *)
531 scarabeus 1.34 _kmname="${KMNAME}" ;;
532 scarabeus 1.30 esac
533 scarabeus 1.22 else
534     _kmname=${PN}
535     fi
536     _kmname_pv="${_kmname}-${PV}"
537     case ${KDEBASE} in
538     kde-base)
539     case ${PV} in
540 tampakrap 1.81 4.5.93)
541     # Only kdepim and kdepim-runtime 4.6beta here
542     SRC_URI="mirror://kde/unstable/kdepim/${PV}/${_kmname}-4.6beta3.tar.bz2"
543     ;;
544 reavertm 1.70 4.[456].8[05] | 4.[456].9[023568])
545     # Unstable KDE SC releases
546     SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
547     ;;
548 tampakrap 1.80 4.4.6 | 4.4.7 | 4.4.8 | 4.4.9)
549 reavertm 1.71 # Only kdepim here
550     SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
551     ;;
552 reavertm 1.70 *)
553     # Stable KDE SC releases
554     SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
555 scarabeus 1.54 ;;
556 scarabeus 1.22 esac
557     ;;
558     koffice)
559 scarabeus 1.38 case ${PV} in
560 reavertm 1.61 2.1.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
561 tampakrap 1.53 *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
562 scarabeus 1.38 esac
563 reavertm 1.61 ;;
564     kdevelop)
565     SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
566     ;;
567 ingmar 1.1 esac
568 scarabeus 1.30 unset _kmname _kmname_pv
569     fi
570 scarabeus 1.22 ;;
571     esac
572 ingmar 1.1
573     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
574    
575     # @ECLASS-VARIABLE: PREFIX
576     # @DESCRIPTION:
577 scarabeus 1.34 # Set the installation PREFIX for non kde-base applications. It defaults to /usr.
578     # kde-base packages go into KDE4 installation directory (KDEDIR) by default.
579 wired 1.42 # No matter the PREFIX, package will be built against KDE installed in KDEDIR.
580 ingmar 1.1
581     # @FUNCTION: kde4-base_pkg_setup
582     # @DESCRIPTION:
583 scarabeus 1.34 # Do the basic kdeprefix KDEDIR settings and determine with which kde should
584     # optional applications link
585 ingmar 1.1 kde4-base_pkg_setup() {
586 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
587 ingmar 1.1
588 scarabeus 1.47 # Prefix compat:
589 abcd 1.56 if [[ ${EAPI} == 2 ]] && ! use prefix; then
590     EPREFIX=
591     EROOT=${ROOT}
592     fi
593    
594 scarabeus 1.47 # Append missing trailing slash character
595     [[ ${EROOT} = */ ]] || EROOT+="/"
596    
597 scarabeus 1.34 # QA ebuilds
598     [[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})."
599    
600     # Don't set KDEHOME during compilation, it will cause access violations
601 jmbsvicetto 1.13 unset KDEHOME
602    
603 scarabeus 1.34 if [[ ${KDEBASE} = kde-base ]]; then
604     if use kdeprefix; then
605 reavertm 1.61 KDEDIR=/usr/kde/${SLOT}
606 scarabeus 1.34 else
607 abcd 1.57 KDEDIR=/usr
608 scarabeus 1.34 fi
609 abcd 1.56 : ${PREFIX:=${KDEDIR}}
610 scarabeus 1.29 else
611 scarabeus 1.34 # Determine KDEDIR by loooking for the closest match with KDE_MINIMAL
612     KDEDIR=
613     local kde_minimal_met
614     for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
615     [[ -z ${kde_minimal_met} ]] && [[ ${slot} = ${KDE_MINIMAL} ]] && kde_minimal_met=1
616     if [[ -n ${kde_minimal_met} ]] && has_version "kde-base/kdelibs:${slot}"; then
617     if has_version "kde-base/kdelibs:${slot}[kdeprefix]"; then
618 abcd 1.57 KDEDIR=/usr/kde/${slot}
619 scarabeus 1.34 else
620 abcd 1.57 KDEDIR=/usr
621 scarabeus 1.34 fi
622     break;
623     fi
624     done
625 scarabeus 1.37 unset slot
626 scarabeus 1.41
627     # Bail out if kdelibs required but not found
628     if [[ ${KDE_REQUIRED} = always ]] || { [[ ${KDE_REQUIRED} = optional ]] && use kde; }; then
629     [[ -z ${KDEDIR} ]] && die "Failed to determine KDEDIR!"
630     else
631 abcd 1.57 [[ -z ${KDEDIR} ]] && KDEDIR=/usr
632 scarabeus 1.41 fi
633    
634 abcd 1.57 : ${PREFIX:=/usr}
635 jmbsvicetto 1.13 fi
636 abcd 1.57 EKDEDIR=${EPREFIX}${KDEDIR}
637    
638 wired 1.42 # Point pkg-config path to KDE *.pc files
639 abcd 1.57 export PKG_CONFIG_PATH="${EKDEDIR}/$(get_libdir)/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
640 wired 1.42 # Point to correct QT plugins path
641 abcd 1.57 QT_PLUGIN_PATH="${EKDEDIR}/$(get_libdir)/kde4/plugins/"
642 jmbsvicetto 1.13
643 scarabeus 1.47 # Fix XDG collision with sandbox
644     export XDG_CONFIG_HOME="${T}"
645 zlin 1.4 }
646    
647     # @FUNCTION: kde4-base_src_unpack
648     # @DESCRIPTION:
649     # This function unpacks the source tarballs for KDE4 applications.
650 ingmar 1.1 kde4-base_src_unpack() {
651 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
652 ingmar 1.1
653 scarabeus 1.30 if [[ ${BUILD_TYPE} = live ]]; then
654 reavertm 1.61 if has subversion ${INHERITED}; then
655     migrate_store_dir
656     subversion_src_unpack
657     elif has git ${INHERITED}; then
658     git_src_unpack
659     fi
660 reavertm 1.58 elif [[ ${EAPI} == 2 ]]; then
661 scarabeus 1.54 local file
662     for file in ${A}; do
663 reavertm 1.58 # This setup is because EAPI <= 2 cannot unpack *.tar.xz files
664 scarabeus 1.54 # directly, so we do it ourselves (using the exact same code as portage)
665     case ${file} in
666     *.tar.xz)
667     echo ">>> Unpacking ${file} to ${PWD}"
668     xz -dc "${DISTDIR}"/${file} | tar xof -
669     assert "failed unpacking ${file}"
670     ;;
671     *)
672     unpack ${file}
673     ;;
674     esac
675     done
676 ingmar 1.1 else
677 reavertm 1.58 # For EAPI >= 3, we can just use unpack() directly
678 scarabeus 1.54 unpack ${A}
679 ingmar 1.1 fi
680 scarabeus 1.22 }
681 ingmar 1.1
682 scarabeus 1.44 # @FUNCTION: kde4-base_src_prepare
683 scarabeus 1.22 # @DESCRIPTION:
684     # General pre-configure and pre-compile function for KDE4 applications.
685     # It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
686 wired 1.42 # enable_selected_linguas() and enable_selected_doc_linguas()
687     # in kde4-functions.eclass(5) for further details.
688 scarabeus 1.22 kde4-base_src_prepare() {
689     debug-print-function ${FUNCNAME} "$@"
690 zlin 1.8
691     # Only enable selected languages, used for KDE extragear apps.
692 scarabeus 1.30 if [[ -n ${KDE_LINGUAS} ]]; then
693 zlin 1.8 enable_selected_linguas
694     fi
695 ingmar 1.1
696 wired 1.42 # Enable/disable handbooks for kde4-base packages
697 scarabeus 1.44 # kde-l10n inherits kde4-base but is metpackage, so no check for doc
698     # kdelibs inherits kde4-base but handle installing the handbook itself
699 wired 1.42 if ! has kde4-meta ${INHERITED}; then
700 scarabeus 1.44 has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas
701 wired 1.42 fi
702    
703 reavertm 1.61 # SCM bootstrap
704     if [[ ${BUILD_TYPE} = live ]]; then
705     if has subversion ${INHERITED}; then
706     subversion_src_prepare
707     elif has git ${INHERITED}; then
708     git_src_prepare
709     fi
710     fi
711 reavertm 1.58
712     # Apply patches
713 scarabeus 1.22 base_src_prepare
714 scarabeus 1.20
715 scarabeus 1.22 # Save library dependencies
716 scarabeus 1.30 if [[ -n ${KMSAVELIBS} ]] ; then
717 scarabeus 1.22 save_library_dependencies
718     fi
719 scarabeus 1.20
720 scarabeus 1.22 # Inject library dependencies
721 scarabeus 1.30 if [[ -n ${KMLOADLIBS} ]] ; then
722 scarabeus 1.22 load_library_dependencies
723 jmbsvicetto 1.13 fi
724 dilfridge 1.76
725 alexxy 1.78 # Replace KDE4Workspace library targets
726     find "${S}" -name CMakeLists.txt \
727     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' {} + \
728     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' {} + \
729     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' {} + \
730     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' {} + \
731     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' {} + \
732     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' {} + \
733     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' {} + \
734     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' {} + \
735     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' {} + \
736     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' {} + \
737     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' {} + \
738     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' {} + \
739     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' {} + \
740     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' {} + \
741     -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' {} + \
742     || die 'failed to replace KDE4Workspace library targets'
743    
744 dilfridge 1.77 # Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...
745 alexxy 1.78 if [[ -z ${KDEBASE} ]]; then
746 dilfridge 1.77 find "${S}" -name "*.docbook" \
747     -exec sed -i -r \
748     -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' {} + \
749     || die 'failed to fix DocBook variant version'
750     fi
751 ingmar 1.1 }
752    
753     # @FUNCTION: kde4-base_src_configure
754     # @DESCRIPTION:
755     # Function for configuring the build of KDE4 applications.
756     kde4-base_src_configure() {
757     debug-print-function ${FUNCNAME} "$@"
758    
759     # Build tests in src_test only, where we override this value
760 abcd 1.56 local cmakeargs=(-DKDE4_BUILD_TESTS=OFF)
761 ingmar 1.1
762 scarabeus 1.54 if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
763 abcd 1.56 cmakeargs+=(-DKDE4_ENABLE_FINAL=ON)
764 scarabeus 1.54 fi
765    
766 reavertm 1.68 if has debug ${IUSE//+} && use debug; then
767     # Set "real" debug mode
768     CMAKE_BUILD_TYPE="Debugfull"
769     else
770     # Handle common release builds
771     append-cppflags -DQT_NO_DEBUG
772 scarabeus 1.38 fi
773    
774 ingmar 1.1 # Set distribution name
775 abcd 1.56 [[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo)
776 ingmar 1.1
777     # Here we set the install prefix
778 reavertm 1.61 tc-is-cross-compiler || cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
779 jmbsvicetto 1.13
780 wired 1.42 # Use colors
781 ingmar 1.1 QTEST_COLORED=1
782 jmbsvicetto 1.13
783 scarabeus 1.34 # Shadow existing /usr installations
784     unset KDEDIRS
785    
786 scarabeus 1.45 # Handle kdeprefix-ed KDE
787 abcd 1.57 if [[ ${KDEDIR} != /usr ]]; then
788 scarabeus 1.37 # Override some environment variables - only when kdeprefix is different,
789     # to not break ccache/distcc
790 abcd 1.57 PATH="${EKDEDIR}/bin:${PATH}"
791 reavertm 1.61
792     # Append library search path
793     append-ldflags -L"${EKDEDIR}/$(get_libdir)"
794 scarabeus 1.37
795     # Append full RPATH
796 abcd 1.56 cmakeargs+=(-DCMAKE_SKIP_RPATH=OFF)
797 scarabeus 1.34
798 scarabeus 1.45 # Set cmake prefixes to allow buildsystem to locate valid KDE installation
799 scarabeus 1.34 # when more are present
800 abcd 1.57 cmakeargs+=(-DCMAKE_SYSTEM_PREFIX_PATH="${EKDEDIR}")
801 scarabeus 1.45 fi
802    
803 reavertm 1.61 #qmake -query QT_INSTALL_LIBS unavailable when cross-compiling
804     tc-is-cross-compiler && cmakeargs+=(-DQT_LIBRARY_DIR=${ROOT}/usr/lib/qt4)
805     #kde-config -path data unavailable when cross-compiling
806     tc-is-cross-compiler && cmakeargs+=(-DKDE4_DATA_DIR=${ROOT}/usr/share/apps/)
807    
808 scarabeus 1.45 # Handle kdeprefix in application itself
809     if ! has kdeprefix ${IUSE//+} || ! use kdeprefix; then
810 scarabeus 1.34 # If prefix is /usr, sysconf needs to be /etc, not /usr/etc
811 abcd 1.56 cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc)
812     fi
813    
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 alexxy 1.78 if [[ ${VIRTUALX_REQUIRED} == always ]] ||
844     ( [[ ${VIRTUALX_REQUIRED} != manual ]] && use test ); then
845    
846     if [[ ${maketype} ]]; then
847     # surprise- we are already INSIDE virtualmake!!!
848     ewarn "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
849     ewarn " You may NOT set maketype or call virtualmake from the ebuild. Applying workaround."
850     cmake-utils_src_test
851     else
852     export maketype="cmake-utils_src_test"
853     virtualmake
854     fi
855     else
856     cmake-utils_src_test
857     fi
858 ingmar 1.1 }
859    
860     # @FUNCTION: kde4-base_src_install
861     # @DESCRIPTION:
862     # Function for installing KDE4 applications.
863     kde4-base_src_install() {
864     debug-print-function ${FUNCNAME} "$@"
865    
866 abcd 1.57 # Prefix support, for usage in ebuilds
867     if [[ ${EAPI} == 2 ]] && ! use prefix; then
868     ED=${D}
869     fi
870    
871 scarabeus 1.30 if [[ -n ${KMSAVELIBS} ]] ; then
872 scarabeus 1.22 install_library_dependencies
873     fi
874    
875 reavertm 1.61 # Install common documentation of KDE4 applications
876 ingmar 1.1 local doc
877 reavertm 1.61 if ! has kde4-meta ${INHERITED}; then
878 reavertm 1.62 for doc in "${S}"/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
879 reavertm 1.63 [[ -f "${doc}" ]] && [[ -s "${doc}" ]] && dodoc "${doc}"
880 reavertm 1.62 done
881     for doc in "${S}"/*/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
882 reavertm 1.63 [[ -f "${doc}" ]] && [[ -s "${doc}" ]] && newdoc "${doc}" "$(basename $(dirname ${doc})).$(basename ${doc})"
883 ingmar 1.1 done
884     fi
885 reavertm 1.61
886     cmake-utils_src_install
887 ingmar 1.1 }
888    
889     # @FUNCTION: kde4-base_pkg_postinst
890     # @DESCRIPTION:
891     # Function to rebuild the KDE System Configuration Cache after an application has been installed.
892     kde4-base_pkg_postinst() {
893 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
894    
895 ingmar 1.1 buildsycoca
896 scarabeus 1.36
897     if [[ ${BUILD_TYPE} = live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
898     echo
899 wired 1.42 einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
900 scarabeus 1.36 einfo "Use it at your own risk."
901     einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
902     echo
903 scarabeus 1.39 elif [[ ${BUILD_TYPE} != live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && has kdeprefix ${IUSE//+} && use kdeprefix; then
904     # warning about kdeprefix for non-live users
905     echo
906 wired 1.42 ewarn "WARNING! You have the kdeprefix useflag enabled."
907     ewarn "This setting is strongly discouraged and might lead to potential trouble"
908 scarabeus 1.39 ewarn "with KDE update strategies."
909 wired 1.42 ewarn "You are using this setup at your own risk and the kde team does not"
910 scarabeus 1.39 ewarn "take responsibilities for dead kittens."
911     echo
912 scarabeus 1.36 fi
913 reavertm 1.58 if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! has_version 'kde-base/kdebase-runtime-meta' && ! has_version 'kde-base/kdebase-startkde'; then
914     # warn about not supported approach
915     if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
916     echo
917     ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
918     ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
919     ewarn "With this setting you are unsupported by KDE team."
920     ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID."
921     fi
922     fi
923 ingmar 1.1 }
924    
925     # @FUNCTION: kde4-base_pkg_postrm
926     # @DESCRIPTION:
927     # Function to rebuild the KDE System Configuration Cache after an application has been removed.
928     kde4-base_pkg_postrm() {
929 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
930    
931 ingmar 1.1 buildsycoca
932     }

  ViewVC Help
Powered by ViewVC 1.1.20