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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.157 - (hide annotations) (download)
Wed Jul 1 11:28:23 2015 UTC (2 years, 11 months ago) by mrueg
Branch: MAIN
Changes since 1.156: +11 -1 lines
Sync with overlay. Add SRC_URIs for newer KDE SC, KDE Workspace releases and KDEPIM 4.4 no-akonadi branches.

1 kensington 1.147 # Copyright 1999-2015 Gentoo Foundation
2 ingmar 1.1 # Distributed under the terms of the GNU General Public License v2
3 mrueg 1.157 # $Header: $
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 johu 1.149 # NOTE: KDE 4 ebuilds currently support EAPI 5. This will be
14 alexxy 1.123 # reviewed over time as new EAPI versions are approved.
15 scarabeus 1.22
16 ulm 1.138 if [[ -z ${_KDE4_BASE_ECLASS} ]]; then
17     _KDE4_BASE_ECLASS=1
18 kensington 1.125
19 dilfridge 1.111 # @ECLASS-VARIABLE: KDE_SELINUX_MODULE
20     # @DESCRIPTION:
21     # If set to "none", do nothing.
22     # For any other value, add selinux to IUSE, and depending on that useflag
23     # add a dependency on sec-policy/selinux-${KDE_SELINUX_MODULE} to (R)DEPEND
24     : ${KDE_SELINUX_MODULE:=none}
25    
26 kensington 1.119 # @ECLASS-VARIABLE: VIRTUALDBUS_TEST
27     # @DESCRIPTION:
28     # If defined, launch and use a private dbus session during src_test.
29    
30 alexxy 1.78 # @ECLASS-VARIABLE: VIRTUALX_REQUIRED
31     # @DESCRIPTION:
32 dilfridge 1.85 # For proper description see virtualx.eclass manpage.
33     # Here we redefine default value to be manual, if your package needs virtualx
34     # for tests you should proceed with setting VIRTUALX_REQUIRED=test.
35 alexxy 1.78 : ${VIRTUALX_REQUIRED:=manual}
36    
37 dilfridge 1.132 inherit kde4-functions toolchain-funcs fdo-mime flag-o-matic gnome2-utils virtualx versionator eutils multilib
38 reavertm 1.61
39 johu 1.120 if [[ ${KDE_BUILD_TYPE} = live ]]; then
40 scarabeus 1.87 case ${KDE_SCM} in
41     svn) inherit subversion ;;
42 dilfridge 1.132 git) inherit git-r3 ;;
43 scarabeus 1.87 esac
44 reavertm 1.61 fi
45    
46 scarabeus 1.52 # @ECLASS-VARIABLE: CMAKE_REQUIRED
47 scarabeus 1.44 # @DESCRIPTION:
48 scarabeus 1.47 # Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'.
49     # Please note that if it's set to 'never' you need to explicitly override following phases:
50     # src_configure, src_compile, src_test and src_install.
51     # Defaults to 'always'.
52 scarabeus 1.54 : ${CMAKE_REQUIRED:=always}
53 reavertm 1.61 if [[ ${CMAKE_REQUIRED} = always ]]; then
54 scarabeus 1.47 buildsystem_eclass="cmake-utils"
55     export_fns="src_configure src_compile src_test src_install"
56 scarabeus 1.44 fi
57    
58 reavertm 1.61 # @ECLASS-VARIABLE: KDE_MINIMAL
59     # @DESCRIPTION:
60     # This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
61 reavertm 1.66 # version for apps to work. Currently defaults to 4.4
62 reavertm 1.61 # One may override this variable to raise version requirements.
63 abcd 1.97 # Note that it is fixed to ${PV} for kde-base packages.
64 reavertm 1.66 KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
65 scarabeus 1.48
66 scarabeus 1.87 # Set slot for KDEBASE known packages
67 reavertm 1.61 case ${KDEBASE} in
68     kde-base)
69 johu 1.149 SLOT=4/$(get_version_component_range 1-2)
70 abcd 1.97 KDE_MINIMAL="${PV}"
71 reavertm 1.61 ;;
72     kdevelop)
73 johu 1.120 if [[ ${KDE_BUILD_TYPE} = live ]]; then
74 reavertm 1.65 # @ECLASS-VARIABLE: KDEVELOP_VERSION
75     # @DESCRIPTION:
76     # Specifies KDevelop version. Default is 4.0.0 for tagged packages and 9999 for live packages.
77     # Applies to KDEBASE=kdevelop only.
78 kensington 1.136 KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.9999}"
79 reavertm 1.65 # @ECLASS-VARIABLE: KDEVPLATFORM_VERSION
80     # @DESCRIPTION:
81     # Specifies KDevplatform version. Default is 1.0.0 for tagged packages and 9999 for live packages.
82     # Applies to KDEBASE=kdevelop only.
83 kensington 1.136 KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-4.9999}"
84 reavertm 1.61 else
85     case ${PN} in
86 kensington 1.136 kdevelop)
87 reavertm 1.61 KDEVELOP_VERSION=${PV}
88     KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)"
89     ;;
90 dilfridge 1.132 kdevplatform|kdevelop-php*|kdevelop-python)
91 reavertm 1.61 KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)"
92     KDEVPLATFORM_VERSION=${PV}
93 reavertm 1.65 ;;
94     *)
95     KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.0.0}"
96     KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-1.0.0}"
97 reavertm 1.61 esac
98     fi
99     SLOT="4"
100     ;;
101     esac
102    
103     inherit ${buildsystem_eclass}
104 scarabeus 1.47
105 scarabeus 1.87 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_preinst pkg_postinst pkg_postrm
106 scarabeus 1.44
107 scarabeus 1.47 unset buildsystem_eclass
108     unset export_fns
109 ingmar 1.1
110 alexxy 1.78 # @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
111     # @DESCRIPTION:
112 pesa 1.124 # Is qtdeclarative required? Possible values are 'always', 'optional' and 'never'.
113 alexxy 1.78 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
114     DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
115    
116     # @ECLASS-VARIABLE: QTHELP_REQUIRED
117     # @DESCRIPTION:
118 pesa 1.124 # Is qthelp required? Possible values are 'always', 'optional' and 'never'.
119 alexxy 1.78 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
120     QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}"
121    
122 philantrop 1.7 # @ECLASS-VARIABLE: OPENGL_REQUIRED
123     # @DESCRIPTION:
124 pesa 1.124 # Is qtopengl required? Possible values are 'always', 'optional' and 'never'.
125 philantrop 1.7 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
126     OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
127    
128 abcd 1.56 # @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED
129     # @DESCRIPTION:
130 pesa 1.124 # Is qtmultimedia required? Possible values are 'always', 'optional' and 'never'.
131 abcd 1.56 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
132     MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
133    
134 zlin 1.4 # @ECLASS-VARIABLE: CPPUNIT_REQUIRED
135     # @DESCRIPTION:
136     # Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
137     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
138     CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
139    
140 scarabeus 1.34 # @ECLASS-VARIABLE: KDE_REQUIRED
141     # @DESCRIPTION:
142     # Is kde required? Possible values are 'always', 'optional' and 'never'.
143     # This variable must be set before inheriting any eclasses. Defaults to 'always'
144 reavertm 1.74 # If set to 'always' or 'optional', KDE_MINIMAL may be overriden as well.
145 scarabeus 1.34 # Note that for kde-base packages this variable is fixed to 'always'.
146     KDE_REQUIRED="${KDE_REQUIRED:-always}"
147    
148 reavertm 1.69 # @ECLASS-VARIABLE: KDE_HANDBOOK
149     # @DESCRIPTION:
150 reavertm 1.74 # Set to enable handbook in application. Possible values are 'always', 'optional'
151     # (handbook USE flag) and 'never'.
152     # This variable must be set before inheriting any eclasses. Defaults to 'never'.
153     # It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it
154     # ensures buildtime and runtime dependencies.
155     KDE_HANDBOOK="${KDE_HANDBOOK:-never}"
156 reavertm 1.69
157 scarabeus 1.87 # @ECLASS-VARIABLE: KDE_LINGUAS_LIVE_OVERRIDE
158     # @DESCRIPTION:
159     # Set this varible if you want your live package to manage its
160     # translations. (Mostly all kde ebuilds does not ship documentation
161     # and translations in live ebuilds)
162 johu 1.120 if [[ ${KDE_BUILD_TYPE} == live && -z ${KDE_LINGUAS_LIVE_OVERRIDE} ]]; then
163 abcd 1.90 # Kdebase actualy provides the handbooks even for live stuff
164     [[ ${KDEBASE} == kde-base ]] || KDE_HANDBOOK=never
165 scarabeus 1.87 KDE_LINGUAS=""
166     fi
167    
168 scarabeus 1.47 # Setup packages inheriting this eclass
169     case ${KDEBASE} in
170     kde-base)
171 reavertm 1.69 HOMEPAGE="http://www.kde.org/"
172     LICENSE="GPL-2"
173 johu 1.120 if [[ ${KDE_BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
174 kensington 1.119 # Disable tests for live ebuilds by default
175 scarabeus 1.47 RESTRICT+=" test"
176 abcd 1.96 fi
177    
178 scarabeus 1.47 # This code is to prevent portage from searching GENTOO_MIRRORS for
179     # packages that will never be mirrored. (As they only will ever be in
180     # the overlay).
181     case ${PV} in
182 mrueg 1.144 *9999* | 4.?.[6-9]? | 4.??.[6-9]? | ??.?.[6-9]? | ??.??.[6-9]?)
183 scarabeus 1.47 RESTRICT+=" mirror"
184     ;;
185     esac
186     ;;
187 reavertm 1.69 kdevelop)
188     HOMEPAGE="http://www.kdevelop.org/"
189     LICENSE="GPL-2"
190     ;;
191 scarabeus 1.47 esac
192 scarabeus 1.34
193 scarabeus 1.47 # @ECLASS-VARIABLE: QT_MINIMAL
194 scarabeus 1.39 # @DESCRIPTION:
195 scarabeus 1.87 # Determine version of qt we enforce as minimal for the package.
196 johu 1.134 QT_MINIMAL="${QT_MINIMAL:-4.8.5}"
197 scarabeus 1.47
198 alexxy 1.78 # Declarative dependencies
199     qtdeclarativedepend="
200 pesa 1.124 >=dev-qt/qtdeclarative-${QT_MINIMAL}:4
201 alexxy 1.78 "
202     case ${DECLARATIVE_REQUIRED} in
203     always)
204     COMMONDEPEND+=" ${qtdeclarativedepend}"
205     ;;
206     optional)
207     IUSE+=" declarative"
208     COMMONDEPEND+=" declarative? ( ${qtdeclarativedepend} )"
209     ;;
210     *) ;;
211     esac
212     unset qtdeclarativedepend
213    
214     # QtHelp dependencies
215     qthelpdepend="
216 pesa 1.124 >=dev-qt/qthelp-${QT_MINIMAL}:4
217 alexxy 1.78 "
218     case ${QTHELP_REQUIRED} in
219     always)
220     COMMONDEPEND+=" ${qthelpdepend}"
221     ;;
222     optional)
223     IUSE+=" qthelp"
224     COMMONDEPEND+=" qthelp? ( ${qthelpdepend} )"
225     ;;
226     esac
227     unset qthelpdepend
228    
229 scarabeus 1.34 # OpenGL dependencies
230     qtopengldepend="
231 pesa 1.124 >=dev-qt/qtopengl-${QT_MINIMAL}:4
232 scarabeus 1.34 "
233     case ${OPENGL_REQUIRED} in
234     always)
235 wired 1.42 COMMONDEPEND+=" ${qtopengldepend}"
236 scarabeus 1.34 ;;
237     optional)
238 wired 1.42 IUSE+=" opengl"
239     COMMONDEPEND+=" opengl? ( ${qtopengldepend} )"
240 scarabeus 1.34 ;;
241     *) ;;
242     esac
243     unset qtopengldepend
244    
245 abcd 1.56 # MultiMedia dependencies
246     qtmultimediadepend="
247 pesa 1.124 >=dev-qt/qtmultimedia-${QT_MINIMAL}:4
248 abcd 1.56 "
249     case ${MULTIMEDIA_REQUIRED} in
250     always)
251     COMMONDEPEND+=" ${qtmultimediadepend}"
252     ;;
253     optional)
254     IUSE+=" multimedia"
255     COMMONDEPEND+=" multimedia? ( ${qtmultimediadepend} )"
256     ;;
257     *) ;;
258     esac
259     unset qtmultimediadepend
260    
261 scarabeus 1.34 # CppUnit dependencies
262     cppuintdepend="
263     dev-util/cppunit
264     "
265 scarabeus 1.22 case ${CPPUNIT_REQUIRED} in
266 zlin 1.4 always)
267 wired 1.42 DEPEND+=" ${cppuintdepend}"
268 scarabeus 1.22 ;;
269 zlin 1.4 optional)
270 wired 1.42 IUSE+=" test"
271     DEPEND+=" test? ( ${cppuintdepend} )"
272 scarabeus 1.22 ;;
273 scarabeus 1.34 *) ;;
274 zlin 1.4 esac
275 scarabeus 1.34 unset cppuintdepend
276    
277     # KDE dependencies
278 reavertm 1.65 # Qt accessibility classes are needed in various places, bug 325461
279 scarabeus 1.34 kdecommondepend="
280 reavertm 1.73 dev-lang/perl
281 pesa 1.124 >=dev-qt/qt3support-${QT_MINIMAL}:4[accessibility]
282     >=dev-qt/qtcore-${QT_MINIMAL}:4[qt3support,ssl]
283     >=dev-qt/qtdbus-${QT_MINIMAL}:4
284 kensington 1.150 >=dev-qt/designer-${QT_MINIMAL}:4
285 johu 1.134 >=dev-qt/qtgui-${QT_MINIMAL}:4[accessibility,dbus(+)]
286 pesa 1.124 >=dev-qt/qtscript-${QT_MINIMAL}:4
287     >=dev-qt/qtsql-${QT_MINIMAL}:4[qt3support]
288     >=dev-qt/qtsvg-${QT_MINIMAL}:4
289     >=dev-qt/qttest-${QT_MINIMAL}:4
290     >=dev-qt/qtwebkit-${QT_MINIMAL}:4
291 scarabeus 1.34 "
292 reavertm 1.61
293 scarabeus 1.34 if [[ ${PN} != kdelibs ]]; then
294 reavertm 1.73 kdecommondepend+=" $(add_kdebase_dep kdelibs)"
295     if [[ ${KDEBASE} = kdevelop ]]; then
296     if [[ ${PN} != kdevplatform ]]; then
297     # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED
298     # @DESCRIPTION:
299     # Specifies whether kdevplatform is required. Possible values are 'always' (default) and 'never'.
300     # Applies to KDEBASE=kdevelop only.
301     KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}"
302     case ${KDEVPLATFORM_REQUIRED} in
303     always)
304     kdecommondepend+="
305 kensington 1.136 >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION}:4
306 reavertm 1.73 "
307     ;;
308     *) ;;
309     esac
310 reavertm 1.61 fi
311 ingmar 1.1 fi
312     fi
313 scarabeus 1.87
314 scarabeus 1.34 kdedepend="
315 reavertm 1.60 dev-util/automoc
316 jdhore 1.115 virtual/pkgconfig
317 scarabeus 1.54 !aqua? (
318 xarthisius 1.83 >=x11-libs/libXtst-1.1.0
319 scarabeus 1.54 x11-proto/xf86vidmodeproto
320     )
321 scarabeus 1.34 "
322 scarabeus 1.87
323 reavertm 1.73 kderdepend=""
324 reavertm 1.69
325 mrueg 1.144 if [[ ${CATEGORY} == kde-apps ]]; then
326     kderdepend+=" !kde-base/${PN}"
327     fi
328    
329 scarabeus 1.87 # all packages needs oxygen icons for basic iconset
330 dilfridge 1.82 if [[ ${PN} != oxygen-icons ]]; then
331 kensington 1.155 kderdepend+=" kde-apps/oxygen-icons"
332 dilfridge 1.82 fi
333    
334 kensington 1.131 # add a dependency over kde-l10n
335 kensington 1.128 if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} ]]; then
336 scarabeus 1.87 for _lingua in ${KDE_LINGUAS}; do
337 mrueg 1.144 # if our package has linguas, pull in kde-l10n with selected lingua enabled,
338 scarabeus 1.89 # but only for selected ones.
339     # this can't be done on one line because if user doesn't use any localisation
340     # then he is probably not interested in kde-l10n at all.
341     kderdepend+="
342 kensington 1.155 linguas_${_lingua}? ( $(add_kdeapps_dep kde4-l10n "linguas_${_lingua}(+)") )
343 scarabeus 1.89 "
344 scarabeus 1.87 done
345 scarabeus 1.89 unset _lingua
346 scarabeus 1.87 fi
347    
348 reavertm 1.74 kdehandbookdepend="
349     app-text/docbook-xml-dtd:4.2
350     app-text/docbook-xsl-stylesheets
351     "
352     kdehandbookrdepend="
353     $(add_kdebase_dep kdelibs 'handbook')
354     "
355     case ${KDE_HANDBOOK} in
356     always)
357     kdedepend+=" ${kdehandbookdepend}"
358     [[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}"
359     ;;
360     optional)
361     IUSE+=" +handbook"
362     kdedepend+=" handbook? ( ${kdehandbookdepend} )"
363     [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )"
364     ;;
365     *) ;;
366     esac
367     unset kdehandbookdepend kdehandbookrdepend
368 reavertm 1.69
369 dilfridge 1.111 case ${KDE_SELINUX_MODULE} in
370     none) ;;
371     *)
372     IUSE+=" selinux"
373 perfinion 1.153 kderdepend+=" selinux? ( sec-policy/selinux-${KDE_SELINUX_MODULE} )"
374 dilfridge 1.111 ;;
375     esac
376    
377 alexxy 1.123 # We always need the aqua useflag because otherwise we cannot = refer to it inside
378     # add_kdebase_dep. This was always kind of a bug, but came to light with EAPI=5
379     # (where referring to a use flag not in IUSE masks the ebuild).
380     # The only alternative would be to prohibit using add_kdebase_dep if KDE_REQUIRED=never
381     IUSE+=" aqua"
382    
383 scarabeus 1.34 case ${KDE_REQUIRED} in
384     always)
385 reavertm 1.73 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}"
386     [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}"
387     [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}"
388 scarabeus 1.34 ;;
389     optional)
390 alexxy 1.123 IUSE+=" kde"
391 reavertm 1.73 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
392     [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )"
393     [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )"
394 scarabeus 1.34 ;;
395     *) ;;
396     esac
397 scarabeus 1.54
398 reavertm 1.73 unset kdecommondepend kdedepend kderdepend
399 scarabeus 1.34
400     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
401     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
402     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
403    
404     # Accumulate dependencies set by this eclass
405 wired 1.42 DEPEND+=" ${COMMONDEPEND}"
406     RDEPEND+=" ${COMMONDEPEND}"
407     unset COMMONDEPEND
408 ingmar 1.1
409     # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
410 johu 1.121 # kdevelop ebuild, the URI should be set in the ebuild itself
411 scarabeus 1.87 _calculate_src_uri() {
412     debug-print-function ${FUNCNAME} "$@"
413    
414     local _kmname _kmname_pv
415    
416     # we calculate URI only for known KDEBASE modules
417     [[ -n ${KDEBASE} ]] || return
418    
419     # calculate tarball module name
420     if [[ -n ${KMNAME} ]]; then
421 kensington 1.129 _kmname="${KMNAME}"
422 scarabeus 1.87 else
423     _kmname=${PN}
424     fi
425     _kmname_pv="${_kmname}-${PV}"
426     case ${KDEBASE} in
427     kde-base)
428     case ${PV} in
429 dilfridge 1.113 4.4.11.1)
430     # KDEPIM 4.4, special case
431     # TODO: Remove this part when KDEPIM 4.4 gets out of the tree
432     SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2" ;;
433 mrueg 1.157 4.4.20*)
434     # KDEPIM 4.4 no-akonadi branch, special case
435     # TODO: Remove this part when KDEPIM 4.4 gets out of the tree
436     SRC_URI="http://dev.gentoo.org/~dilfridge/distfiles/${_kmname_pv}.tar.xz" ;;
437 alexxy 1.123 4.?.[6-9]? | 4.??.[6-9]?)
438 scarabeus 1.87 # Unstable KDE SC releases
439 johu 1.120 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.xz" ;;
440 kensington 1.143 4.11.14)
441     # Part of 4.14 actually, sigh. Not stable for next release!
442     SRC_URI="mirror://kde/stable/4.14.3/src/${_kmname_pv}.tar.xz" ;;
443 kensington 1.148 4.11.17)
444     # Part of 14.12.3 actually, sigh. Not stable for next release!
445     SRC_URI="mirror://kde/stable/applications/14.12.3/src/${_kmname_pv}.tar.xz" ;;
446 kensington 1.151 4.11.18)
447 mrueg 1.154 # Part of 15.04.0 actually, sigh. Not stable for next release!
448 kensington 1.152 SRC_URI="mirror://kde/stable/applications/15.04.0/src/${_kmname_pv}.tar.xz" ;;
449     4.11.19)
450 mrueg 1.154 # Part of 15.04.1 actually, sigh. Not stable for next release!
451 kensington 1.152 SRC_URI="mirror://kde/stable/applications/15.04.1/src/${_kmname_pv}.tar.xz" ;;
452 mrueg 1.154 4.11.20)
453     # Part of 15.04.2 actually, sigh. Not stable for next release!
454     SRC_URI="mirror://kde/stable/applications/15.04.2/src/${_kmname_pv}.tar.xz" ;;
455 mrueg 1.157 4.11.21)
456     # Part of 15.04.3 actually, sigh. Not stable for next release!
457     SRC_URI="mirror://kde/stable/applications/15.04.3/src/${_kmname_pv}.tar.xz" ;;
458 kensington 1.156 4.14.3)
459     # Last SC release
460     SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.xz" ;;
461 kensington 1.148 4.14.6)
462     # Part of 14.12.3 actually, sigh. Not stable for next release!
463     SRC_URI="mirror://kde/stable/applications/14.12.3/src/${_kmname_pv}.tar.xz" ;;
464 kensington 1.151 4.14.7)
465     # Part of 15.04.0 actually, sigh. Not stable for next release!
466     SRC_URI="mirror://kde/stable/applications/15.04.0/src/${_kmname_pv}.tar.xz" ;;
467 kensington 1.152 4.14.8)
468     # Part of 15.04.1 actually, sigh. Not stable for next release!
469     SRC_URI="mirror://kde/stable/applications/15.04.1/src/${_kmname_pv}.tar.xz" ;;
470 mrueg 1.154 4.14.9)
471     # Part of 15.04.2 actually, sigh. Not stable for next release!
472     SRC_URI="mirror://kde/stable/applications/15.04.2/src/${_kmname_pv}.tar.xz" ;;
473 mrueg 1.157 4.14.10)
474     # Part of 15.04.3 actually, sigh. Not stable for next release!
475     SRC_URI="mirror://kde/stable/applications/15.04.3/src/${_kmname_pv}.tar.xz" ;;
476 mrueg 1.144 ??.?.[6-9]? | ??.??.[4-9]?)
477     # Unstable KDE Applications releases
478     SRC_URI="mirror://kde/unstable/applications/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
479 scarabeus 1.87 *)
480 kensington 1.156 # Stable KDE Applications releases
481     SRC_URI="mirror://kde/stable/applications/${PV}/src/${_kmname}-${PV}.tar.xz"
482 mrueg 1.144 ;;
483 scarabeus 1.87 esac
484     ;;
485 dilfridge 1.113 kdevelop|kdevelop-php*|kdevplatform)
486     case ${KDEVELOP_VERSION} in
487 kensington 1.146 4.[123].[6-9]*) SRC_URI="mirror://kde/unstable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.xz" ;;
488     *) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.xz" ;;
489 dilfridge 1.113 esac
490 scarabeus 1.87 ;;
491     esac
492     }
493    
494     _calculate_live_repo() {
495     debug-print-function ${FUNCNAME} "$@"
496    
497     SRC_URI=""
498     case ${KDE_SCM} in
499     svn)
500 reavertm 1.61 # Determine branch URL based on live type
501     local branch_prefix
502     case ${PV} in
503 kensington 1.147 9999*)
504 reavertm 1.61 # trunk
505     branch_prefix="trunk/KDE"
506     ;;
507     *)
508     # branch
509 abcd 1.97 branch_prefix="branches/KDE/$(get_kde_version)"
510 reavertm 1.61 # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
511     # @DESCRIPTION
512     # Suffix appended to ESVN_PROJECT depending on fetched branch.
513     # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
514     ESVN_PROJECT_SUFFIX="-${PV}"
515     ;;
516     esac
517     # @ECLASS-VARIABLE: ESVN_MIRROR
518     # @DESCRIPTION:
519     # This variable allows easy overriding of default kde mirror service
520     # (anonsvn) with anything else you might want to use.
521     ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
522     # Split ebuild, or extragear stuff
523     if [[ -n ${KMNAME} ]]; then
524     ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
525     if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
526     KMMODULE="${PN}"
527     fi
528     # Split kde-base/ ebuilds: (they reside in trunk/KDE)
529     case ${KMNAME} in
530     kdebase-*)
531     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
532     ;;
533     kdelibs-*)
534     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
535     ;;
536     kdereview*)
537     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
538     ;;
539     kdesupport)
540     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
541     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
542     ;;
543     kde*)
544     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
545     ;;
546     extragear*|playground*)
547     # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
548     # build packages from same svn location.
549     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
550     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
551     ;;
552     *)
553     ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
554     ;;
555     esac
556     else
557     # kdelibs, kdepimlibs
558     ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
559     ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
560     fi
561     # @ECLASS-VARIABLE: ESVN_UP_FREQ
562     # @DESCRIPTION:
563     # This variable is used for specifying the timeout between svn synces
564 johu 1.121 # for kde-base modules. Does not affect misc apps.
565 reavertm 1.61 # Default value is 1 hour.
566 johu 1.121 [[ ${KDEBASE} = kde-base ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
567 scarabeus 1.87 ;;
568     git)
569     local _kmname
570     # @ECLASS-VARIABLE: EGIT_MIRROR
571     # @DESCRIPTION:
572     # This variable allows easy overriding of default kde mirror service
573     # (anongit) with anything else you might want to use.
574     EGIT_MIRROR=${EGIT_MIRROR:=git://anongit.kde.org}
575    
576     # @ECLASS-VARIABLE: EGIT_REPONAME
577     # @DESCRIPTION:
578     # This variable allows overriding of default repository
579     # name. Specify only if this differ from PN and KMNAME.
580     if [[ -n ${EGIT_REPONAME} ]]; then
581     # the repository and kmname different
582     _kmname=${EGIT_REPONAME}
583     elif [[ -n ${KMNAME} ]]; then
584     _kmname=${KMNAME}
585 scarabeus 1.22 else
586     _kmname=${PN}
587     fi
588 scarabeus 1.87
589     # default branching
590 kensington 1.146 [[ ${PV} != 4.9999* && ${PV} != 9999 && ${KDEBASE} == kde-base ]] && \
591 alexxy 1.108 EGIT_BRANCH="KDE/$(get_kde_version)"
592 scarabeus 1.87
593 mrueg 1.154 # Applications branching
594     [[ ${PV} == ??.??.49.9999 && ${KDEBASE} == kde-base ]] && \
595     EGIT_BRANCH="Applications/$(get_kde_version)"
596    
597 abcd 1.99 # default repo uri
598 dilfridge 1.132 EGIT_REPO_URI+=( "${EGIT_MIRROR}/${_kmname}" )
599 scarabeus 1.87
600     debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"
601     debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}"
602     ;;
603     esac
604     }
605    
606 johu 1.120 case ${KDE_BUILD_TYPE} in
607 scarabeus 1.87 live) _calculate_live_repo ;;
608     *) _calculate_src_uri ;;
609 scarabeus 1.22 esac
610 ingmar 1.1
611     debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
612    
613     # @ECLASS-VARIABLE: PREFIX
614     # @DESCRIPTION:
615 scarabeus 1.34 # Set the installation PREFIX for non kde-base applications. It defaults to /usr.
616 abcd 1.100 # kde-base packages go into KDE4 installation directory (/usr).
617     # No matter the PREFIX, package will be built against KDE installed in /usr.
618 ingmar 1.1
619     # @FUNCTION: kde4-base_pkg_setup
620     # @DESCRIPTION:
621 abcd 1.100 # Do some basic settings
622 ingmar 1.1 kde4-base_pkg_setup() {
623 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
624 ingmar 1.1
625 dilfridge 1.111 if has handbook ${IUSE} || has "+handbook" ${IUSE} && [ "${KDE_HANDBOOK}" != optional ] ; then
626     eqawarn "Handbook support is enabled via KDE_HANDBOOK=optional in the ebuild."
627     eqawarn "Please do not just set IUSE=handbook, as this leads to dependency errors."
628     fi
629    
630 scarabeus 1.34 # Don't set KDEHOME during compilation, it will cause access violations
631 jmbsvicetto 1.13 unset KDEHOME
632    
633 scarabeus 1.91 # Check if gcc compiler is fresh enough.
634     # In theory should be in pkg_pretend but we check it only for kdelibs there
635     # and for others we do just quick scan in pkg_setup because pkg_pretend
636 kensington 1.142 # executions consume quite some time (ie. when merging 300 packages at once will cause 300 checks)
637 kensington 1.128 if [[ ${MERGE_TYPE} != binary ]]; then
638     [[ $(gcc-major-version) -lt 4 ]] || \
639 johu 1.140 ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 6 ]] ) \
640     && die "Sorry, but gcc-4.6 and earlier wont work for some KDE packages."
641 dilfridge 1.101 fi
642 scarabeus 1.91
643 abcd 1.96 KDEDIR=/usr
644     : ${PREFIX:=/usr}
645     EKDEDIR=${EPREFIX}/usr
646 abcd 1.57
647 wired 1.42 # Point to correct QT plugins path
648 abcd 1.100 QT_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/kde4/plugins/"
649 jmbsvicetto 1.13
650 scarabeus 1.47 # Fix XDG collision with sandbox
651     export XDG_CONFIG_HOME="${T}"
652 zlin 1.4 }
653    
654     # @FUNCTION: kde4-base_src_unpack
655     # @DESCRIPTION:
656     # This function unpacks the source tarballs for KDE4 applications.
657 ingmar 1.1 kde4-base_src_unpack() {
658 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
659 ingmar 1.1
660 johu 1.120 if [[ ${KDE_BUILD_TYPE} = live ]]; then
661 scarabeus 1.87 case ${KDE_SCM} in
662     svn)
663     subversion_src_unpack
664     ;;
665     git)
666 dilfridge 1.132 git-r3_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 abcd 1.110 if ! has kde4-meta ${INHERITED} && in_iuse handbook; then
694 scarabeus 1.87 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 johu 1.120 if [[ ${KDE_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 dilfridge 1.132 # Apply patches, cmake-utils does the job already
720     cmake-utils_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 johu 1.121 # Hack for manuals relying on outdated DTD, only outside kde-base/...
733 alexxy 1.78 if [[ -z ${KDEBASE} ]]; then
734 dilfridge 1.77 find "${S}" -name "*.docbook" \
735     -exec sed -i -r \
736     -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' {} + \
737     || die 'failed to fix DocBook variant version'
738     fi
739 ingmar 1.1 }
740    
741     # @FUNCTION: kde4-base_src_configure
742     # @DESCRIPTION:
743     # Function for configuring the build of KDE4 applications.
744     kde4-base_src_configure() {
745     debug-print-function ${FUNCNAME} "$@"
746    
747     # Build tests in src_test only, where we override this value
748 abcd 1.56 local cmakeargs=(-DKDE4_BUILD_TESTS=OFF)
749 ingmar 1.1
750 abcd 1.110 if use_if_iuse debug; then
751 reavertm 1.68 # Set "real" debug mode
752 johu 1.120 CMAKE_KDE_BUILD_TYPE="Debugfull"
753 reavertm 1.68 else
754     # Handle common release builds
755     append-cppflags -DQT_NO_DEBUG
756 scarabeus 1.38 fi
757    
758 ingmar 1.1 # Set distribution name
759 abcd 1.56 [[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo)
760 ingmar 1.1
761     # Here we set the install prefix
762 reavertm 1.61 tc-is-cross-compiler || cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
763 jmbsvicetto 1.13
764 wired 1.42 # Use colors
765 ingmar 1.1 QTEST_COLORED=1
766 jmbsvicetto 1.13
767 abcd 1.100 # Shadow existing installations
768 scarabeus 1.34 unset KDEDIRS
769    
770 reavertm 1.61 #qmake -query QT_INSTALL_LIBS unavailable when cross-compiling
771 abcd 1.96 tc-is-cross-compiler && cmakeargs+=(-DQT_LIBRARY_DIR=${ROOT}/usr/$(get_libdir)/qt4)
772 reavertm 1.61 #kde-config -path data unavailable when cross-compiling
773     tc-is-cross-compiler && cmakeargs+=(-DKDE4_DATA_DIR=${ROOT}/usr/share/apps/)
774    
775 abcd 1.96 # sysconf needs to be /etc, not /usr/etc
776     cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc)
777 abcd 1.56
778 abcd 1.57 if [[ $(declare -p mycmakeargs 2>&-) != "declare -a mycmakeargs="* ]]; then
779 dilfridge 1.116 if [[ ${mycmakeargs} ]]; then
780     eqawarn "mycmakeargs should always be declared as an array, not a string"
781     fi
782 abcd 1.56 mycmakeargs=(${mycmakeargs})
783 scarabeus 1.22 fi
784    
785 abcd 1.56 mycmakeargs=("${cmakeargs[@]}" "${mycmakeargs[@]}")
786 scarabeus 1.34
787     cmake-utils_src_configure
788 scarabeus 1.22 }
789    
790     # @FUNCTION: kde4-base_src_compile
791     # @DESCRIPTION:
792     # General function for compiling KDE4 applications.
793     kde4-base_src_compile() {
794     debug-print-function ${FUNCNAME} "$@"
795    
796 wired 1.42 cmake-utils_src_compile "$@"
797 ingmar 1.1 }
798    
799     # @FUNCTION: kde4-base_src_test
800     # @DESCRIPTION:
801     # Function for testing KDE4 applications.
802     kde4-base_src_test() {
803     debug-print-function ${FUNCNAME} "$@"
804    
805 kensington 1.119 local kded4_pid
806    
807     _test_runner() {
808     if [[ -n "${VIRTUALDBUS_TEST}" ]]; then
809     export $(dbus-launch)
810     kded4 2>&1 > /dev/null &
811     kded4_pid=$!
812     fi
813    
814     cmake-utils_src_test
815 ulm 1.137 }
816 ingmar 1.1
817 dilfridge 1.85 # When run as normal user during ebuild development with the ebuild command, the
818     # kde tests tend to access the session DBUS. This however is not possible in a real
819     # emerge or on the tinderbox.
820     # > make sure it does not happen, so bad tests can be recognized and disabled
821 kensington 1.119 unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
822    
823     # Override this value, set in kde4-base_src_configure()
824     mycmakeargs+=(-DKDE4_BUILD_TESTS=ON)
825     cmake-utils_src_configure
826     kde4-base_src_compile
827 dilfridge 1.85
828     if [[ ${VIRTUALX_REQUIRED} == always || ${VIRTUALX_REQUIRED} == test ]]; then
829     # check for sanity if anyone already redefined VIRTUALX_COMMAND from the default
830 scarabeus 1.87 if [[ ${VIRTUALX_COMMAND} != emake ]]; then
831 alexxy 1.78 # surprise- we are already INSIDE virtualmake!!!
832 dilfridge 1.85 debug-print "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
833     debug-print " You may NOT set VIRTUALX_COMMAND or call virtualmake from the ebuild."
834     debug-print " Setting VIRTUALX_REQUIRED is completely sufficient. See the"
835     debug-print " kde4-base.eclass docs for details... Applying workaround."
836 kensington 1.119 _test_runner
837 alexxy 1.78 else
838 kensington 1.119 VIRTUALX_COMMAND="_test_runner" virtualmake
839 alexxy 1.78 fi
840     else
841 kensington 1.119 _test_runner
842     fi
843    
844     if [ -n "${kded4_pid}" ] ; then
845     kill ${kded4_pid}
846     fi
847    
848     if [ -n "${DBUS_SESSION_BUS_PID}" ] ; then
849     kill ${DBUS_SESSION_BUS_PID}
850 alexxy 1.78 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 kensington 1.128 # We don't want ${PREFIX}/share/doc/HTML to be compressed,
877 abcd 1.90 # because then khelpcenter can't find the docs
878 kensington 1.128 [[ -d ${ED}/${PREFIX}/share/doc/HTML ]] &&
879 abcd 1.90 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 johu 1.120 if [[ ${KDE_BUILD_TYPE} == live && ${KDE_SCM} == svn ]]; then
890 abcd 1.110 subversion_pkg_preinst
891     fi
892 scarabeus 1.87 }
893    
894 ingmar 1.1 # @FUNCTION: kde4-base_pkg_postinst
895     # @DESCRIPTION:
896     # Function to rebuild the KDE System Configuration Cache after an application has been installed.
897     kde4-base_pkg_postinst() {
898 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
899    
900 scarabeus 1.87 gnome2_icon_cache_update
901     fdo-mime_desktop_database_update
902     fdo-mime_mime_database_update
903 ingmar 1.1 buildsycoca
904 scarabeus 1.36
905 scarabeus 1.87 if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
906 johu 1.120 if [[ ${KDE_BUILD_TYPE} = live ]]; then
907 scarabeus 1.87 echo
908     einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
909     einfo "Use it at your own risk."
910     einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
911     echo
912     fi
913     # for all 3rd party soft tell user that he SHOULD install kdebase-startkde or kdebase-runtime-meta
914     if [[ ${KDEBASE} != kde-base ]] && \
915 kensington 1.155 ! has_version 'kde-apps/kdebase-runtime-meta' && \
916 scarabeus 1.87 ! has_version 'kde-base/kdebase-startkde'; then
917     if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
918     echo
919     ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
920     ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
921     ewarn "With this setting you are unsupported by KDE team."
922     ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID."
923     fi
924 reavertm 1.58 fi
925     fi
926 ingmar 1.1 }
927    
928     # @FUNCTION: kde4-base_pkg_postrm
929     # @DESCRIPTION:
930     # Function to rebuild the KDE System Configuration Cache after an application has been removed.
931     kde4-base_pkg_postrm() {
932 scarabeus 1.30 debug-print-function ${FUNCNAME} "$@"
933    
934 scarabeus 1.87 gnome2_icon_cache_update
935     fdo-mime_desktop_database_update
936     fdo-mime_mime_database_update
937 ingmar 1.1 buildsycoca
938     }
939 kensington 1.125
940     fi

  ViewVC Help
Powered by ViewVC 1.1.20