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

Diff of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.31 Revision 1.53
1# Copyright 2007-2009 Gentoo Foundation 1# Copyright 1999-2009 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.31 2009/03/09 19:41:26 scarabeus Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.53 2009/11/25 19:51:11 tampakrap Exp $
4 4
5# @ECLASS: kde4-base.eclass 5# @ECLASS: kde4-base.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# kde@gentoo.org 7# kde@gentoo.org
8# @BLURB: This eclass provides functions for kde 4.X ebuilds 8# @BLURB: This eclass provides functions for kde 4.X ebuilds
11# and KDE4 applications. 11# and KDE4 applications.
12# 12#
13# NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but 13# NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
14# eclass will fail with version older than 2. 14# eclass will fail with version older than 2.
15 15
16inherit base cmake-utils eutils kde4-functions 16# @ECLASS-VARIABLE: CMAKE_REQUIRED
17# @DESCRIPTION:
18# Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'.
19# Please note that if it's set to 'never' you need to explicitly override following phases:
20# src_configure, src_compile, src_test and src_install.
21# Defaults to 'always'.
22CMAKE_REQUIRED="${CMAKE_REQUIRED:-${CMAKE_REQUIRED:-always}}"
23if [[ ${CMAKE_REQUIRED} = false || ${CMAKE_REQUIRED} = never ]]; then
24 buildsystem_eclass=""
25 export_fns=""
26else
27 buildsystem_eclass="cmake-utils"
28 export_fns="src_configure src_compile src_test src_install"
29fi
30
31inherit kde4-functions
17 32
18get_build_type 33get_build_type
19if [[ ${BUILD_TYPE} = live ]]; then 34if [[ ${BUILD_TYPE} = live ]]; then
20 inherit subversion 35 subversion_eclass="subversion"
21fi 36fi
22 37
38inherit base ${buildsystem_eclass} eutils ${subversion_eclass}
39
23EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm 40EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_postinst pkg_postrm
24 41
25# @FUNCTION: kde4-base_set_qt_dependencies 42unset buildsystem_eclass
26# @DESCRIPTION: 43unset export_fns
27# Set qt dependencies. And use opengl based on OPENGL_REQUIRED variable. 44unset subversion_eclass
28kde4-base_set_qt_dependencies() {
29 local qtdepend qtopengldepend
30 45
31 qtdepend=" 46case ${KDEBASE} in
32 x11-libs/qt-core:4[qt3support,ssl] 47 kde-base)
33 x11-libs/qt-gui:4[accessibility,dbus] 48 HOMEPAGE="http://www.kde.org/"
34 x11-libs/qt-qt3support:4[accessibility] 49 LICENSE="GPL-2"
35 x11-libs/qt-script:4 50 ;;
36 x11-libs/qt-sql:4[qt3support] 51 koffice)
37 x11-libs/qt-svg:4 52 HOMEPAGE="http://www.koffice.org/"
38 x11-libs/qt-test:4 53 LICENSE="GPL-2"
39 " 54 ;;
40 qtwebkitdepend=" 55esac
41 x11-libs/qt-webkit:4 56
42 " 57# @ECLASS-VARIABLE: OPENGL_REQUIRED
58# @DESCRIPTION:
59# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
60# This variable must be set before inheriting any eclasses. Defaults to 'never'.
61OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
62
63# @ECLASS-VARIABLE: WEBKIT_REQUIRED
64# @DESCRIPTION:
65# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
66# This variable must be set before inheriting any eclasses. Defaults to 'never'.
67WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
68
69# @ECLASS-VARIABLE: CPPUNIT_REQUIRED
70# @DESCRIPTION:
71# Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
72# This variable must be set before inheriting any eclasses. Defaults to 'never'.
73CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
74
75# @ECLASS-VARIABLE: KDE_REQUIRED
76# @DESCRIPTION:
77# Is kde required? Possible values are 'always', 'optional' and 'never'.
78# This variable must be set before inheriting any eclasses. Defaults to 'always'
79# If set to always or optional, KDE_MINIMAL may be overriden as well.
80# Note that for kde-base packages this variable is fixed to 'always'.
81KDE_REQUIRED="${KDE_REQUIRED:-always}"
82
83# Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
84if [[ -n ${KDE_MINIMAL} ]]; then
85 for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
86 [[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
87 done
88 unset slot
89 [[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
90else
91 KDE_MINIMAL_VALID=1
92fi
93
94# @ECLASS-VARIABLE: KDE_MINIMAL
95# @DESCRIPTION:
96# This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
97# version for apps to work. Currently defaults to 4.3
98# One may override this variable to raise version requirements.
99# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
100# Note that it is fixed to ${SLOT} for kde-base packages.
101KDE_MINIMAL="${KDE_MINIMAL:-4.3}"
102
103# Setup packages inheriting this eclass
104case ${KDEBASE} in
105 kde-base)
106 if [[ $BUILD_TYPE = live ]]; then
107 # Disable tests for live ebuilds
108 RESTRICT+=" test"
109 # Live ebuilds in kde-base default to kdeprefix by default
110 IUSE+=" +kdeprefix"
111 else
112 # All other ebuild types default to -kdeprefix as before
113 IUSE+=" kdeprefix"
114 fi
115 # Determine SLOT from PVs
116 case ${PV} in
117 *.9999*) SLOT="${PV/.9999*/}" ;; # stable live
118 4.4* | 4.3.[6-9]*) SLOT="4.4" ;;
119 4.3*) SLOT="4.3" ;;
120 4.2*) SLOT="4.2" ;;
121 9999*) SLOT="live" ;; # regular live
122 *) die "Unsupported ${PV}" ;;
123 esac
124 # This code is to prevent portage from searching GENTOO_MIRRORS for
125 # packages that will never be mirrored. (As they only will ever be in
126 # the overlay).
127 case ${PV} in
128 *9999* | 4.?.[6-9]?)
129 RESTRICT+=" mirror"
130 ;;
131 esac
132 KDE_MINIMAL="${SLOT}"
133 _kdedir="${SLOT}"
134
135 # Block installation of other SLOTS unless kdeprefix
136 RDEPEND+=" $(block_other_slots)"
137 ;;
138 koffice)
139 SLOT="2"
140 ;;
141esac
142
143# @ECLASS-VARIABLE: QT_MINIMAL
144# @DESCRIPTION:
145# Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1..
146# Currently defaults to 4.5.1 for KDE 4.3 and earlier
147# or 4.6.0_beta for KDE 4.4 and later
148if slot_is_at_least 4.4 "${KDE_MINIMAL}"; then
149 QT_MINIMAL="${QT_MINIMAL:-4.6.0_beta}"
150fi
151
152QT_MINIMAL="${QT_MINIMAL:-4.5.1}"
153
154# OpenGL dependencies
43 qtopengldepend=" 155qtopengldepend="
44 x11-libs/qt-opengl:4 156 >=x11-libs/qt-opengl-${QT_MINIMAL}:4
45 " 157"
46
47 case ${WEBKIT_REQUIRED} in
48 always)
49 qtdepend="${qtdepend}
50 ${qtwebkitdepend}"
51 ;;
52 optional)
53 IUSE="${IUSE} webkit"
54 qtdepend="${qtdepend}
55 webkit? ( ${qtwebkitdepend} )
56 "
57 ;;
58 *) WEBKIT_REQUIRED="never" ;;
59 esac
60 # opengl dependencies
61 case ${OPENGL_REQUIRED} in 158case ${OPENGL_REQUIRED} in
62 always) 159 always)
63 qtdepend="${qtdepend} 160 COMMONDEPEND+=" ${qtopengldepend}"
64 ${qtopengldepend}
65 "
66 ;; 161 ;;
67 optional) 162 optional)
68 IUSE="${IUSE} opengl" 163 IUSE+=" opengl"
69 qtdepend="${qtdepend}
70 opengl? ( ${qtopengldepend} ) 164 COMMONDEPEND+=" opengl? ( ${qtopengldepend} )"
71 "
72 ;; 165 ;;
73 *) OPENGL_REQUIRED="never" ;; 166 *) ;;
74 esac 167esac
168unset qtopengldepend
75 169
76 COMMONDEPEND="${COMMONDEPEND} ${qtdepend}" 170# WebKit dependencies
77} 171case ${KDE_REQUIRED} in
172 always)
173 qtwebkitusedeps="[kde]"
174 ;;
175 optional)
176 qtwebkitusedeps="[kde?]"
177 ;;
178 *) ;;
179esac
180qtwebkitdepend="
181 >=x11-libs/qt-webkit-${QT_MINIMAL}:4${qtwebkitusedeps}
182"
183unset qtwebkitusedeps
184case ${WEBKIT_REQUIRED} in
185 always)
186 COMMONDEPEND+=" ${qtwebkitdepend}"
187 ;;
188 optional)
189 IUSE+=" webkit"
190 COMMONDEPEND+=" webkit? ( ${qtwebkitdepend} )"
191 ;;
192 *) ;;
193esac
194unset qtwebkitdepend
78 195
79if [[ ${NEED_KDE} != "none" ]] ; then 196# CppUnit dependencies
80 # Qt 197cppuintdepend="
81 kde4-base_set_qt_dependencies 198 dev-util/cppunit
199"
200case ${CPPUNIT_REQUIRED} in
201 always)
202 DEPEND+=" ${cppuintdepend}"
203 ;;
204 optional)
205 IUSE+=" test"
206 DEPEND+=" test? ( ${cppuintdepend} )"
207 ;;
208 *) ;;
209esac
210unset cppuintdepend
82 211
83 # Xorg 212# KDE dependencies
84 COMMONDEPEND="${COMMONDEPEND} 213kdecommondepend="
85 >=x11-base/xorg-server-1.5.2 214 dev-lang/perl
86 " 215 >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
87 216 >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus]
88 # X11 libs 217 >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility,kde]
89 COMMONDEPEND="${COMMONDEPEND} 218 >=x11-libs/qt-script-${QT_MINIMAL}:4
219 >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support]
220 >=x11-libs/qt-svg-${QT_MINIMAL}:4
221 >=x11-libs/qt-test-${QT_MINIMAL}:4
222 !aqua? (
90 x11-libs/libXext 223 x11-libs/libXext
91 x11-libs/libXt 224 x11-libs/libXt
92 x11-libs/libXxf86vm 225 x11-libs/libXxf86vm
93 " 226 )
94 227"
95 # localization deps 228if [[ ${PN} != kdelibs ]]; then
96 # DISABLED UNTIL PMS decide correct approach :( 229 if [[ ${KDEBASE} = kde-base ]]; then
97 if [[ -n ${KDE_LINGUAS} ]]; then 230 kdecommondepend+=" $(add_kdebase_dep kdelibs)"
98 LNG_DEP="" 231 # libknotificationitem only when SLOT is 4.3
99 for _lng in ${KDE_LINGUAS}; do 232 [[ ${PN} != libknotificationitem ]] && [[ ${SLOT} = 4.3 ]] && \
100 # there must be or due to issue if lingua is not present in kde-l10n so 233 kdecommondepend+=" $(add_kdebase_dep libknotificationitem)"
101 # it wont die but pick kde-l10n as-is.
102 LNG_DEP="${LNG_DEP}
103 || ( kde-base/kde-l10n[linguas_${_lng},kdeprefix=] kde-base/kde-l10n[kdeprefix=] )"
104 done
105 fi
106
107 # Set common dependencies for all ebuilds that inherit this eclass
108 DEPEND="${DEPEND} ${COMMONDEPEND}
109 >=dev-util/cmake-2.6.2
110 dev-util/pkgconfig
111 >=sys-apps/sandbox-1.3.2
112 "
113 RDEPEND="${RDEPEND} ${COMMONDEPEND}"
114fi # NEED_KDE != NONE block
115
116if [[ $BUILD_TYPE = live ]]; then
117 # Disable tests for live ebuilds
118 RESTRICT="${RESTRICT} test"
119 # Live ebuilds in kde-base default to kdeprefix by default
120 IUSE="${IUSE} +kdeprefix"
121else 234 else
122 # All other ebuild types default to -kdeprefix as before 235 kdecommondepend+="
123 IUSE="${IUSE} kdeprefix" 236 >=kde-base/kdelibs-${KDE_MINIMAL}
237 "
238 fi
124fi 239fi
125 240kdedepend="
126# @ECLASS-VARIABLE: OPENGL_REQUIRED 241 dev-util/pkgconfig
127# @DESCRIPTION: 242"
128# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
129# This variable must be set before inheriting any eclasses. Defaults to 'never'.
130OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
131
132# @ECLASS-VARIABLE: WEBKIT_REQUIRED
133# @DESCRIPTION:
134# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
135# This variable must be set before inheriting any eclasses. Defaults to 'never'.
136WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
137
138# @ECLASS-VARIABLE: CPPUNIT_REQUIRED
139# @DESCRIPTION:
140# Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
141# This variable must be set before inheriting any eclasses. Defaults to 'never'.
142CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
143
144case ${CPPUNIT_REQUIRED} in 243case ${KDE_REQUIRED} in
145 always) 244 always)
146 DEPEND="${DEPEND} 245 IUSE+=" aqua"
147 dev-util/cppunit 246 COMMONDEPEND+=" ${kdecommondepend}"
148 " 247 DEPEND+=" ${kdedepend}"
149 ;; 248 ;;
150 optional) 249 optional)
151 IUSE="${IUSE} test" 250 IUSE+=" aqua kde"
251 COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
252 DEPEND+=" kde? ( ${kdedepend} )"
253 ;;
254 *) ;;
255esac
256unset kdecommondepend kdedepend
257
258debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
259debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
260debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
261
262# Accumulate dependencies set by this eclass
152 DEPEND="${DEPEND} 263DEPEND+=" ${COMMONDEPEND}"
153 test? ( dev-util/cppunit )
154 "
155 ;;
156 *)
157 CPPUNIT_REQUIRED="never"
158 ;;
159esac
160
161# @ECLASS-VARIABLE: NEED_KDE
162# @DESCRIPTION:
163# This variable sets the version of KDE4 which will be used by the eclass.
164# For kde-base packages, if it is not set by the ebuild,
165# it's assumed that the required KDE4 version is the latest available.
166# For non kde-base packages, it is also set to the latest by default.
167#
168# For more precise adjustments or for specifying particular kde version,
169# KDE_MINIMAL variable can be used.
170#
171# @CODE
172# Acceptable values are:
173# - latest - Use latest version in the portage tree
174# Default for kde-base ebuilds.
175# - live - Use live release (live ebuilds)
176# - none - Let the ebuild handle SLOT, kde dependencies, KDEDIR, ...
177# - 4.2, 4.1, kde-4 - respective slots for kde versions
178# @CODE
179# Note: default NEED_KDE is latest
180NEED_KDE="${NEED_KDE:=latest}"
181export NEED_KDE
182
183# @ECLASS-VARIABLE: KDE_MINIMAL
184# @DESCRIPTION:
185# This wariable is used when NEED_KDE="latest" is set, to specify the
186# required KDE minimal version for which apps will work.
187# @CODE
188# KDE_MINIMAL="-4.1"
189# @CODE
190# Note: default minimal version is kde-4.1, which means that the apps will work
191# with any KDE version >=${KDE_MINIMAL}
192KDE_MINIMAL="${KDE_MINIMAL:=4.2}"
193export KDE_MINIMAL
194
195# FIXME: the code section, explanation of live. The last sentence needs other
196# formulation too.
197#
198# @ECLASS-VARIABLE: KDE_WANTED
199# @DESCRIPTION:
200# When NEED_KDE=latest is inherited, KDE_WANTED serves to indicate the prefered kde
201# version. It's value is looked for before any other. Useful when having more
202# +kdeprefix installs: you can choose which kde version, if present, to link
203# against.
204#
205# @CODE
206# Acceptable values are:
207# stable = whatever is main tree (now 4.1)
208# testing = whatever is in testing on main tree
209# snapshot = whatever is released under snapshots (4.2 at present)
210# live = live svn ebuilds, also default value, do not be scared it goes in this
211#
212# order: live->snapshot->testing->stable, when searching for kde. This way we
213# allow users to use just kde4snapshots and use software from the tree.
214KDE_WANTED="${KDE_WANTED:=live}"
215export KDE_WANTED
216
217case ${NEED_KDE} in
218 latest)
219 if [[ $KDEBASE = kde-base ]]; then
220 case ${PV} in
221 4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
222 _kdedir="4.3"
223 _pv="-${PV}:4.3"
224 _pvn="-${PV}"
225 ;;
226 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
227 _kdedir="4.2"
228 _pv="-${PV}:4.2"
229 _pvn="-${PV}"
230 ;;
231 4.1*| 4.0.9* | 4.0.8*)
232 _kdedir="4.1"
233 _pv="-${PV}:4.1"
234 _pvn="-${PV}"
235 ;;
236 4.0*)
237 _kdedir="4.0"
238 _pv="-${PV}:kde-4"
239 _pvn="-${PV}"
240 ;;
241 3.9*)
242 _kdedir="3.9"
243 _pv="-${PV}:kde-4"
244 _pvn="-${PV}"
245 ;;
246 9999*)
247 _kdedir="live"
248 _pv="-${PV}:live"
249 _pvn="-${PV}"
250 ;;
251 *)
252 die "NEED_KDE=latest not supported for PV=${PV}" ;;
253 esac
254 _operator=">="
255 else
256 # this creates dependency on any version of kde4
257 _operator=">="
258 _pv="-${KDE_MINIMAL}"
259 _pvn=${_pv}
260 fi
261 ;;
262
263 # NEED_KDE="${PV}"
264 scm|svn|live|9999*)
265 _kdedir="live"
266 _operator=">="
267 _pv="-${NEED_KDE}:live"
268 _pvn="-${NEED_KDE}"
269 export NEED_KDE="live"
270 ;;
271 4.3 | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
272 _kdedir="4.3"
273 _pv="-${NEED_KDE}:4.3"
274 _pvn="-${NEED_KDE}"
275 _operator=">="
276 ;;
277 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
278 _kdedir="4.2"
279 _pv="-${NEED_KDE}:4.2"
280 _pvn="-${NEED_KDE}"
281 _operator=">="
282 ;;
283 4.1 | 4.0.9* | 4.0.8*)
284 _kdedir="4.1"
285 _pv="-${NEED_KDE}:4.1"
286 _pvn="-${NEED_KDE}"
287 _operator=">="
288 ;;
289 4.0* | 4)
290 _kdedir="4.0"
291 _operator=">="
292 _pv="-${NEED_KDE}:kde-4"
293 _pvn="-${NEED_KDE}"
294 ;;
295 3.9*)
296 _kdedir="3.9"
297 _operator=">="
298 _pv="-${NEED_KDE}:kde-4"
299 _pvn="-${NEED_KDE}"
300 ;;
301
302 # The ebuild handles dependencies, KDEDIR, SLOT.
303 none)
304 :
305 ;;
306
307 *)
308 die "NEED_KDE=${NEED_KDE} currently not supported."
309 ;;
310esac
311
312if [[ ${NEED_KDE} != none ]]; then
313 #Set the SLOT
314 if [[ -n ${KDEBASE} ]]; then
315 if [[ ${NEED_KDE} = live ]]; then
316 SLOT="live"
317 else
318 case ${KMNAME} in
319 koffice)
320 case ${PV} in
321 9999*) SLOT="live" ;;
322 *) SLOT="2" ;;
323 esac
324 ;;
325 kdevelop)
326 case ${PV} in
327 9999*) SLOT="live" ;;
328 4.0*|3.9*) SLOT="4" ;;
329 esac
330 ;;
331 kdevplatform)
332 case ${PV} in
333 9999*) SLOT="live" ;;
334 1.0*|0.9*) SLOT="1" ;;
335 esac
336 ;;
337 *)
338 case ${PV} in
339 9999*) SLOT="live" ;;
340 4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
341 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
342 4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
343 *) SLOT="4.1" ;;
344 esac
345 ;;
346 esac
347 fi
348 fi
349
350 # Block installation of other SLOTS unless kdeprefix
351 for KDE_SLOT in ${KDE_SLOTS[@]}; do
352 # block non kdeprefix ${PN} on other slots
353 # we do this only if we do not depend on any version of kde
354 if [[ ${SLOT} != ${KDE_SLOT} ]]; then
355 RDEPEND="${RDEPEND}
356 !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )
357 "
358 fi
359 done
360
361 # Adding kdelibs and kdebase-data deps to all other packages.
362 if [[ ${PN} != kdelibs ]]; then
363 DEPEND="${DEPEND}
364 kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
365 !kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
366 "
367 RDEPEND="${RDEPEND} 264RDEPEND+=" ${COMMONDEPEND}"
368 kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] ) 265unset COMMONDEPEND
369 !kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
370 "
371 if [[ ${PN} != kdepimlibs && ${PN} != kdebase-data ]]; then
372 RDEPEND="${RDEPEND}
373 kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
374 !kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )
375 "
376 fi
377 fi
378 unset _operator _pv _pvn
379fi
380 266
381# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a 267# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
382# koffice ebuild, the URI should be set in the ebuild itself 268# koffice ebuild, the URI should be set in the ebuild itself
383case ${BUILD_TYPE} in 269case ${BUILD_TYPE} in
384 live) 270 live)
271 # Determine branch URL based on live type
272 local branch_prefix
273 case ${PV} in
274 9999*)
275 # trunk
276 branch_prefix="trunk/KDE"
277 ;;
278 *)
279 # branch
280 branch_prefix="branches/KDE/${SLOT}"
281 # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
282 # @DESCRIPTION
283 # Suffix appended to ESVN_PROJECT depending on fetched branch.
284 # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
285 ESVN_PROJECT_SUFFIX="-${PV}"
286 ;;
287 esac
385 SRC_URI="" 288 SRC_URI=""
289 # @ECLASS-VARIABLE: ESVN_MIRROR
290 # @DESCRIPTION:
291 # This variable allows easy overriding of default kde mirror service
292 # (anonsvn) with anything else you might want to use.
386 ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde} 293 ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
387 # Split ebuild, or extragear stuff 294 # Split ebuild, or extragear stuff
388 if [[ -n ${KMNAME} ]]; then 295 if [[ -n ${KMNAME} ]]; then
389 ESVN_PROJECT="${KMNAME}" 296 ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
390 if [[ -z ${KMNOMODULE} && -z ${KMMODULE} ]]; then 297 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
391 KMMODULE="${PN}" 298 KMMODULE="${PN}"
392 fi 299 fi
393 # Split kde-base/ ebuilds: (they reside in trunk/KDE) 300 # Split kde-base/ ebuilds: (they reside in trunk/KDE)
394 case ${KMNAME} in 301 case ${KMNAME} in
395 kdebase-*) 302 kdebase-*)
396 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/kdebase/${KMNAME#kdebase-}" 303 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
304 ;;
305 kdelibs-*)
306 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
397 ;; 307 ;;
398 kdereview) 308 kdereview)
399 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" 309 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
400 ;; 310 ;;
311 kdesupport)
312 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
313 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
314 ;;
401 kde*) 315 kde*)
402 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}" 316 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
403 ;; 317 ;;
404 extragear*|playground*) 318 extragear*|playground*)
319 # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
320 # build packages from same svn location.
405 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" 321 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
322 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
406 ;; 323 ;;
407 koffice) 324 koffice)
408 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}" 325 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
409 ;; 326 ;;
410 *) 327 *)
411 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" 328 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
412 ;; 329 ;;
413 esac 330 esac
414 else 331 else
415 # kdelibs, kdepimlibs 332 # kdelibs, kdepimlibs
416 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}" 333 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
417 ESVN_PROJECT="${PN}" 334 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
418 fi 335 fi
419 # limit syncing to 1 hour. 336 # @ECLASS-VARIABLE: ESVN_UP_FREQ
420 ESVN_UP_FREQ=${ESVN_UP_FREQ:-1} 337 # @DESCRIPTION:
338 # This variable is used for specifying the timeout between svn synces
339 # for kde-base and koffice modules. Does not affect misc apps.
340 # Default value is 1 hour.
341 [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
421 ;; 342 ;;
422 *) 343 *)
423 if [[ -n ${KDEBASE} ]]; then 344 if [[ -n ${KDEBASE} ]]; then
424 if [[ -n ${KMNAME} ]]; then 345 if [[ -n ${KMNAME} ]]; then
425 case ${KMNAME} in 346 case ${KMNAME} in
426 kdebase-apps) 347 kdebase-apps)
427 _kmname="kdebase" ;; 348 _kmname="kdebase" ;;
428 *) 349 *)
429 _kmname=${KMNAME} ;; 350 _kmname="${KMNAME}" ;;
430 esac 351 esac
431 else 352 else
432 _kmname=${PN} 353 _kmname=${PN}
433 fi 354 fi
434 _kmname_pv="${_kmname}-${PV}" 355 _kmname_pv="${_kmname}-${PV}"
435 if [[ $NEED_KDE != live ]]; then
436 case ${KDEBASE} in 356 case ${KDEBASE} in
437 kde-base) 357 kde-base)
438 case ${PV} in 358 case ${PV} in
439 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) 359 4.3.85 | 4.3.9[0568])
360 # block for normally packed unstable releases
361 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
362 4.3.[6-9]*)
440 SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;; 363 SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
441 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
442 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
443 *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;; 364 *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
444 esac 365 esac
445 ;; 366 ;;
446 koffice) 367 koffice)
368 case ${PV} in
369 2.0.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" ;;
447 SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" 370 *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
448 ;; 371 esac
449 esac 372 esac
450 fi
451 unset _kmname _kmname_pv 373 unset _kmname _kmname_pv
452 fi 374 fi
453 ;; 375 ;;
454esac 376esac
455 377
456debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}" 378debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
457 379
458# @ECLASS-VARIABLE: PREFIX 380# @ECLASS-VARIABLE: PREFIX
459# @DESCRIPTION: 381# @DESCRIPTION:
460# Set the installation PREFIX. All kde-base ebuilds go into the KDE4 installation directory. 382# Set the installation PREFIX for non kde-base applications. It defaults to /usr.
461# Applications installed by the other ebuilds go into ${KDEDIR} by default, this value 383# kde-base packages go into KDE4 installation directory (KDEDIR) by default.
462# can be superseded by defining PREFIX before inheriting kde4-base. 384# No matter the PREFIX, package will be built against KDE installed in KDEDIR.
463# This value is set on pkg_setup
464PREFIX=""
465
466debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - NEED_KDE ${NEED_KDE}"
467 385
468# @FUNCTION: kde4-base_pkg_setup 386# @FUNCTION: kde4-base_pkg_setup
469# @DESCRIPTION: 387# @DESCRIPTION:
470# Adds flags needed by all of KDE 4 to $QT4_BUILT_WITH_USE_CHECK. Uses 388# Do the basic kdeprefix KDEDIR settings and determine with which kde should
471# kde4-functions_check_use from kde4-functions.eclass to print appropriate 389# optional applications link
472# errors and die if any required flags listed in $QT4_BUILT_WITH_USE_CHECK or
473# $KDE4_BUILT_WITH_USE_CHECK are missing.
474kde4-base_pkg_setup() { 390kde4-base_pkg_setup() {
475 debug-print-function ${FUNCNAME} "$@" 391 debug-print-function ${FUNCNAME} "$@"
476 392
393 # Prefix compat:
394 use prefix || EROOT=${ROOT}
395 # Append missing trailing slash character
396 [[ ${EROOT} = */ ]] || EROOT+="/"
397
398 # QA ebuilds
399 [[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})."
400
477 # Don't set KDEHOME during compile, it will cause access violations 401 # Don't set KDEHOME during compilation, it will cause access violations
478 unset KDEHOME 402 unset KDEHOME
479 403
480 # Search for best suitable kde installation for misc kde package. 404 if [[ ${KDEBASE} = kde-base ]]; then
481 # Computation based on NEED_KDE and KDE_MINIMAL
482 [[ ${KDEBASE} != kde-base ]] && [[ ${NEED_KDE} = latest || ${NEED_KDE} = none ]] && get_latest_kdedir
483
484 # Set PREFIX
485 if use kdeprefix; then 405 if use kdeprefix; then
486 KDEDIR="/usr/kde/${_kdedir}" 406 KDEDIR="${EROOT}usr/kde/${_kdedir}"
487 KDEDIRS="/usr/local/:/usr:${KDEDIR}" 407 else
408 KDEDIR="${EROOT}usr"
409 fi
410 PREFIX="${PREFIX:-${KDEDIR}}"
488 else 411 else
412 # Determine KDEDIR by loooking for the closest match with KDE_MINIMAL
489 KDEDIR="/usr" 413 KDEDIR=
490 KDEDIRS="/usr/local/:/usr" 414 local kde_minimal_met
415 for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
416 [[ -z ${kde_minimal_met} ]] && [[ ${slot} = ${KDE_MINIMAL} ]] && kde_minimal_met=1
417 if [[ -n ${kde_minimal_met} ]] && has_version "kde-base/kdelibs:${slot}"; then
418 if has_version "kde-base/kdelibs:${slot}[kdeprefix]"; then
419 KDEDIR="${EROOT}usr/kde/${slot}"
420 else
421 KDEDIR="${EROOT}usr"
422 fi
423 break;
424 fi
425 done
426 unset slot
427
428 # Bail out if kdelibs required but not found
429 if [[ ${KDE_REQUIRED} = always ]] || { [[ ${KDE_REQUIRED} = optional ]] && use kde; }; then
430 [[ -z ${KDEDIR} ]] && die "Failed to determine KDEDIR!"
431 else
432 [[ -z ${KDEDIR} ]] && KDEDIR="${EROOT}usr"
491 fi 433 fi
492 # Set the prefix based on KDEDIR
493 # Make it a consequence of kdeprefix
494 PREFIX=${KDEDIR}
495 434
435 PREFIX="${PREFIX:-${EROOT}usr}"
436 fi
437 # Point pkg-config path to KDE *.pc files
438 export PKG_CONFIG_PATH="${KDEDIR}/$(get_libdir)/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
439 # Point to correct QT plugins path
440 QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
441
442 # Fix XDG collision with sandbox
443 export XDG_CONFIG_HOME="${T}"
444 # Not needed anymore
496 unset _kdedir 445 unset _kdedir
497
498 # check if qt has correct deps
499 [[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
500 die "built_with_use illegal in this EAPI!"
501
502 if [[ ${BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
503 echo
504 elog "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
505 elog "Use it at your own risk."
506 elog "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
507 echo
508 fi
509} 446}
510 447
511# @FUNCTION: kde4-base_src_unpack 448# @FUNCTION: kde4-base_src_unpack
512# @DESCRIPTION: 449# @DESCRIPTION:
513# This function unpacks the source tarballs for KDE4 applications. 450# This function unpacks the source tarballs for KDE4 applications.
520 else 457 else
521 base_src_unpack 458 base_src_unpack
522 fi 459 fi
523} 460}
524 461
525# @FUNCTION: kde4-base_src_compile 462# @FUNCTION: kde4-base_src_prepare
526# @DESCRIPTION: 463# @DESCRIPTION:
527# General pre-configure and pre-compile function for KDE4 applications. 464# General pre-configure and pre-compile function for KDE4 applications.
528# It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and 465# It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
466# enable_selected_linguas() and enable_selected_doc_linguas()
529# enable_selected_linguas() in kde4-functions.eclass(5) for further details. 467# in kde4-functions.eclass(5) for further details.
530kde4-base_src_prepare() { 468kde4-base_src_prepare() {
531 debug-print-function ${FUNCNAME} "$@" 469 debug-print-function ${FUNCNAME} "$@"
532 470
533 # Only enable selected languages, used for KDE extragear apps. 471 # Only enable selected languages, used for KDE extragear apps.
534 if [[ -n ${KDE_LINGUAS} ]]; then 472 if [[ -n ${KDE_LINGUAS} ]]; then
535 enable_selected_linguas 473 enable_selected_linguas
536 fi 474 fi
537 475
476 # Enable/disable handbooks for kde4-base packages
477 # kde-l10n inherits kde4-base but is metpackage, so no check for doc
478 # kdelibs inherits kde4-base but handle installing the handbook itself
479 if ! has kde4-meta ${INHERITED}; then
480 has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas
481 fi
482
483 [[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
538 base_src_prepare 484 base_src_prepare
539 485
540 # Save library dependencies 486 # Save library dependencies
541 if [[ -n ${KMSAVELIBS} ]] ; then 487 if [[ -n ${KMSAVELIBS} ]] ; then
542 save_library_dependencies 488 save_library_dependencies
557 # Handle common release builds 503 # Handle common release builds
558 if ! has debug ${IUSE//+} || ! use debug; then 504 if ! has debug ${IUSE//+} || ! use debug; then
559 append-cppflags -DQT_NO_DEBUG 505 append-cppflags -DQT_NO_DEBUG
560 fi 506 fi
561 507
562 # Enable generation of HTML handbook
563 if has htmlhandbook ${IUSE//+} && use htmlhandbook; then
564 ebegin "Enabling building of HTML handbook"
565 mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_HTMLHANDBOOK=ON"
566 eend $?
567 fi
568
569 # Build tests in src_test only, where we override this value 508 # Build tests in src_test only, where we override this value
570 mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=OFF" 509 local cmakeargs="-DKDE4_BUILD_TESTS=OFF"
510
511 # set "real" debug mode
512 if has debug ${IUSE//+} && use debug; then
513 CMAKE_BUILD_TYPE="Debugfull"
514 fi
571 515
572 # Set distribution name 516 # Set distribution name
573 [[ ${PN} = kdelibs ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo" 517 [[ ${PN} = kdelibs ]] && cmakeargs+=" -DKDE_DISTRIBUTION_TEXT=Gentoo"
574
575 # runpath linking
576 mycmakeargs="${mycmakeargs} -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
577 518
578 # Here we set the install prefix 519 # Here we set the install prefix
579 mycmakeargs="${mycmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}" 520 cmakeargs+=" -DCMAKE_INSTALL_PREFIX=${PREFIX}"
580 521
581 # If prefix is /usr, sysconf needs to be /etc, not /usr/etc 522 # Use colors
582 use kdeprefix || mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
583
584 # Set environment
585 QTEST_COLORED=1 523 QTEST_COLORED=1
586 QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
587 524
588 # Hardcode path to *.pc KDE files 525 # Shadow existing /usr installations
589 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig" 526 unset KDEDIRS
590 527
591 # Override some environment variables 528 # Handle kdeprefix-ed KDE
529 if [[ ${KDEDIR} != "${EROOT}usr" ]]; then
530 # Override some environment variables - only when kdeprefix is different,
531 # to not break ccache/distcc
592 PATH="${KDEDIR}/bin:${PATH}" 532 PATH="${KDEDIR}/bin:${PATH}"
593 LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}" 533 LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
594 534
535 # Append full RPATH
536 cmakeargs+=" -DCMAKE_SKIP_RPATH=OFF"
537
595 # Set cmake prefixes to allow buildsystem to localize valid KDE installation when more are present 538 # Set cmake prefixes to allow buildsystem to locate valid KDE installation
596 if use kdeprefix; then 539 # when more are present
597 mycmakeargs="${mycmakeargs}
598 -DCMAKE_SYSTEM_INCLUDE_PATH=${KDEDIR}/include
599 -DCMAKE_SYSTEM_LIBRARY_PATH=${KDEDIR}/$(get_libdir)
600 -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR} 540 cmakeargs+=" -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}"
601 -DCMAKE_SYSTEM_PROGRAM_PATH=${KDEDIR}/bin"
602 fi 541 fi
603 542
604 [ -e CMakeLists.txt ] && cmake-utils_src_configure 543 # Handle kdeprefix in application itself
544 if ! has kdeprefix ${IUSE//+} || ! use kdeprefix; then
545 # If prefix is /usr, sysconf needs to be /etc, not /usr/etc
546 cmakeargs+=" -DSYSCONF_INSTALL_DIR=${EROOT}etc"
547 fi
548
549 mycmakeargs="${cmakeargs} ${mycmakeargs}"
550
551 cmake-utils_src_configure
605} 552}
606 553
607# @FUNCTION: kde4-base_src_compile 554# @FUNCTION: kde4-base_src_compile
608# @DESCRIPTION: 555# @DESCRIPTION:
609# General function for compiling KDE4 applications. 556# General function for compiling KDE4 applications.
610kde4-base_src_compile() { 557kde4-base_src_compile() {
611 debug-print-function ${FUNCNAME} "$@" 558 debug-print-function ${FUNCNAME} "$@"
612 559
613 kde4-base_src_make 560 cmake-utils_src_compile "$@"
614}
615
616# @FUNCTION: kde4-base_src_make
617# @DESCRIPTION:
618# Function for building KDE4 applications.
619# Options are passed to cmake-utils_src_make.
620kde4-base_src_make() {
621 debug-print-function ${FUNCNAME} "$@"
622
623 if [[ -d "$WORKDIR/${PN}_build" ]]; then
624 pushd "${WORKDIR}/${PN}_build" > /dev/null
625 fi
626 [ -e [Mm]akefile ] && cmake-utils_src_make "$@"
627} 561}
628 562
629# @FUNCTION: kde4-base_src_test 563# @FUNCTION: kde4-base_src_test
630# @DESCRIPTION: 564# @DESCRIPTION:
631# Function for testing KDE4 applications. 565# Function for testing KDE4 applications.
632kde4-base_src_test() { 566kde4-base_src_test() {
633 debug-print-function ${FUNCNAME} "$@" 567 debug-print-function ${FUNCNAME} "$@"
634 568
635 # Override this value, set in kde4-base_src_configure() 569 # Override this value, set in kde4-base_src_configure()
636 mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=ON" 570 mycmakeargs+=" -DKDE4_BUILD_TESTS=ON"
637 cmake-utils_src_configure 571 cmake-utils_src_configure
638 kde4-base_src_compile 572 kde4-base_src_compile
639 573
640 cmake-utils_src_test 574 cmake-utils_src_test
641} 575}
649 if [[ -n ${KMSAVELIBS} ]] ; then 583 if [[ -n ${KMSAVELIBS} ]] ; then
650 install_library_dependencies 584 install_library_dependencies
651 fi 585 fi
652 586
653 kde4-base_src_make_doc 587 kde4-base_src_make_doc
654 if [[ -d "$WORKDIR/${PN}_build" ]]; then 588 cmake-utils_src_install
655 pushd "${WORKDIR}/${PN}_build" > /dev/null
656 fi
657 [ -e [Mm]akefile ] && cmake-utils_src_install
658} 589}
659 590
660# @FUNCTION: kde4-base_src_make_doc 591# @FUNCTION: kde4-base_src_make_doc
661# @DESCRIPTION: 592# @DESCRIPTION:
662# Function for installing the documentation of KDE4 applications. 593# Function for installing the documentation of KDE4 applications.
676 newdoc "$doc_complete" "${doc%/*}.${doc##*/}" 607 newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
677 fi 608 fi
678 done 609 done
679 fi 610 fi
680 611
681 if [[ -n ${KDEBASE} && -d "${D}/usr/share/doc/${PF}" ]]; then 612 if [[ -n ${KDEBASE} ]] && [[ -d "${D}${EROOT}usr/share/doc/${PF}" ]]; then
682 # work around bug #97196 613 # work around bug #97196
683 dodir /usr/share/doc/kde && \ 614 dodir /usr/share/doc/KDE4 && \
684 mv "${D}/usr/share/doc/${PF}" "${D}"/usr/share/doc/kde/ || \ 615 cp -r "${D}${EROOT}usr/share/doc/${PF}" "${D}${EROOT}usr/share/doc/KDE4/" || \
685 die "Failed to move docs to kde/ failed." 616 die "Failed to move docs to KDE4/."
617 rm -rf "${D}${EROOT}usr/share/doc/${PF}"
686 fi 618 fi
687} 619}
688 620
689# @FUNCTION: kde4-base_pkg_postinst 621# @FUNCTION: kde4-base_pkg_postinst
690# @DESCRIPTION: 622# @DESCRIPTION:
691# Function to rebuild the KDE System Configuration Cache after an application has been installed. 623# Function to rebuild the KDE System Configuration Cache after an application has been installed.
692kde4-base_pkg_postinst() { 624kde4-base_pkg_postinst() {
693 debug-print-function ${FUNCNAME} "$@" 625 debug-print-function ${FUNCNAME} "$@"
694 626
695 buildsycoca 627 buildsycoca
628
629 if [[ ${BUILD_TYPE} = live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
630 echo
631 einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
632 einfo "Use it at your own risk."
633 einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
634 echo
635 elif [[ ${BUILD_TYPE} != live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && has kdeprefix ${IUSE//+} && use kdeprefix; then
636 # warning about kdeprefix for non-live users
637 echo
638 ewarn "WARNING! You have the kdeprefix useflag enabled."
639 ewarn "This setting is strongly discouraged and might lead to potential trouble"
640 ewarn "with KDE update strategies."
641 ewarn "You are using this setup at your own risk and the kde team does not"
642 ewarn "take responsibilities for dead kittens."
643 echo
644 fi
696} 645}
697 646
698# @FUNCTION: kde4-base_pkg_postrm 647# @FUNCTION: kde4-base_pkg_postrm
699# @DESCRIPTION: 648# @DESCRIPTION:
700# Function to rebuild the KDE System Configuration Cache after an application has been removed. 649# Function to rebuild the KDE System Configuration Cache after an application has been removed.

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.53

  ViewVC Help
Powered by ViewVC 1.1.20