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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.86 - (hide annotations) (download)
Wed Apr 6 08:53:48 2011 UTC (3 years, 4 months ago) by dilfridge
Branch: MAIN
Changes since 1.85: +2 -2 lines
Added special handling for kdepim-l10n

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