/[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.60 Revision 1.84
1# Copyright 1999-2010 Gentoo Foundation 1# Copyright 1999-2010 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.60 2010/05/15 14:03:06 reavertm Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.84 2011/01/28 05:05:13 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
16# @ECLASS-VARIABLE: VIRTUALX_REQUIRED
17# @DESCRIPTION:
18# Do we need an X server? Valid values are "always", "optional", and "manual".
19# "tests" is a synonym for "optional". While virtualx.eclass supports in principle
20# also the use of an X server during other ebuild phases, we only use it in
21# src_test here. Most likely you'll want to set "optional", which introduces the
22# use-flag "test" (if not already present), adds dependencies conditional on that
23# use-flag, and automatically runs (only) the ebuild test phase with a virtual X server
24# present. This makes things a lot more comfortable than the bare virtualx eclass.
25
26# In case the variable is not set in the ebuild, let virtualx eclass not do anything
27: ${VIRTUALX_REQUIRED:=manual}
28
29inherit kde4-functions base virtualx eutils
30
31get_build_type
32if [[ ${BUILD_TYPE} = live ]]; then
33 if [[ ${KDEBASE} = kdevelop ]]; then
34 inherit git
35 else
36 inherit subversion
37 fi
38fi
39
16# @ECLASS-VARIABLE: CMAKE_REQUIRED 40# @ECLASS-VARIABLE: CMAKE_REQUIRED
17# @DESCRIPTION: 41# @DESCRIPTION:
18# Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'. 42# 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: 43# 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. 44# src_configure, src_compile, src_test and src_install.
21# Defaults to 'always'. 45# Defaults to 'always'.
22: ${CMAKE_REQUIRED:=always} 46: ${CMAKE_REQUIRED:=always}
23if [[ ${CMAKE_REQUIRED} = false || ${CMAKE_REQUIRED} = never ]]; then 47if [[ ${CMAKE_REQUIRED} = always ]]; then
24 buildsystem_eclass=""
25 export_fns=""
26else
27 buildsystem_eclass="cmake-utils" 48 buildsystem_eclass="cmake-utils"
28 export_fns="src_configure src_compile src_test src_install" 49 export_fns="src_configure src_compile src_test src_install"
29fi 50fi
30
31inherit kde4-functions
32
33get_build_type
34if [[ ${BUILD_TYPE} = live ]]; then
35 subversion_eclass="subversion"
36fi
37
38inherit base ${buildsystem_eclass} eutils ${subversion_eclass}
39
40EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_postinst pkg_postrm
41
42unset buildsystem_eclass
43unset export_fns
44unset subversion_eclass
45
46case ${KDEBASE} in
47 kde-base)
48 HOMEPAGE="http://www.kde.org/"
49 LICENSE="GPL-2"
50 ;;
51 koffice)
52 HOMEPAGE="http://www.koffice.org/"
53 LICENSE="GPL-2"
54 ;;
55esac
56
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: MULTIMEDIA_REQUIRED
64# @DESCRIPTION:
65# Is qt-multimedia required? Possible values are 'always', 'optional' and 'never'.
66# This variable must be set before inheriting any eclasses. Defaults to 'never'.
67MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
68
69# @ECLASS-VARIABLE: WEBKIT_REQUIRED
70# @DESCRIPTION:
71# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
72# This variable must be set before inheriting any eclasses. Defaults to 'never'.
73WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
74
75# @ECLASS-VARIABLE: CPPUNIT_REQUIRED
76# @DESCRIPTION:
77# Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
78# This variable must be set before inheriting any eclasses. Defaults to 'never'.
79CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
80
81# @ECLASS-VARIABLE: KDE_REQUIRED
82# @DESCRIPTION:
83# Is kde required? Possible values are 'always', 'optional' and 'never'.
84# This variable must be set before inheriting any eclasses. Defaults to 'always'
85# If set to always or optional, KDE_MINIMAL may be overriden as well.
86# Note that for kde-base packages this variable is fixed to 'always'.
87KDE_REQUIRED="${KDE_REQUIRED:-always}"
88 51
89# Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here) 52# Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
90if [[ -n ${KDE_MINIMAL} ]]; then 53if [[ -n ${KDE_MINIMAL} ]]; then
91 for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do 54 for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
92 [[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break 55 [[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
98fi 61fi
99 62
100# @ECLASS-VARIABLE: KDE_MINIMAL 63# @ECLASS-VARIABLE: KDE_MINIMAL
101# @DESCRIPTION: 64# @DESCRIPTION:
102# This variable is used when KDE_REQUIRED is set, to specify required KDE minimal 65# This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
103# version for apps to work. Currently defaults to 4.3 66# version for apps to work. Currently defaults to 4.4
104# One may override this variable to raise version requirements. 67# One may override this variable to raise version requirements.
105# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables. 68# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
106# Note that it is fixed to ${SLOT} for kde-base packages. 69# Note that it is fixed to ${SLOT} for kde-base packages.
107KDE_MINIMAL="${KDE_MINIMAL:-4.3}" 70KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
71
72# Set slot for packages in kde-base, koffice and kdevelop
73case ${KDEBASE} in
74 kde-base)
75 # Determine SLOT from PVs
76 case ${PV} in
77 *.9999*) SLOT="${PV/.9999*/}" ;; # stable live
78 4.6* | 4.5.[6-9][0-9]*) SLOT="4.6" ;;
79 4.5* | 4.4.[6-9][0-9]*) SLOT="4.5" ;;
80 4.4* | 4.3.[6-9][0-9]*) SLOT="4.4" ;;
81 9999*) SLOT="live" ;; # regular live
82 *) die "Unsupported ${PV}" ;;
83 esac
84 KDE_MINIMAL="${SLOT}"
85 ;;
86 koffice)
87 SLOT="2"
88 ;;
89 kdevelop)
90 if [[ ${BUILD_TYPE} = live ]]; then
91 # @ECLASS-VARIABLE: KDEVELOP_VERSION
92 # @DESCRIPTION:
93 # Specifies KDevelop version. Default is 4.0.0 for tagged packages and 9999 for live packages.
94 # Applies to KDEBASE=kdevelop only.
95 KDEVELOP_VERSION="${KDEVELOP_VERSION:-9999}"
96 # @ECLASS-VARIABLE: KDEVPLATFORM_VERSION
97 # @DESCRIPTION:
98 # Specifies KDevplatform version. Default is 1.0.0 for tagged packages and 9999 for live packages.
99 # Applies to KDEBASE=kdevelop only.
100 KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-9999}"
101 else
102 case ${PN} in
103 kdevelop|quanta)
104 KDEVELOP_VERSION=${PV}
105 KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)"
106 ;;
107 kdevplatform)
108 KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)"
109 KDEVPLATFORM_VERSION=${PV}
110 ;;
111 *)
112 KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.0.0}"
113 KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-1.0.0}"
114 esac
115 fi
116 SLOT="4"
117 ;;
118esac
119
120slot_is_at_least 4.5 ${KDE_MINIMAL} && CMAKE_MIN_VERSION="2.8.1"
121
122inherit ${buildsystem_eclass}
123
124EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_postinst pkg_postrm
125
126unset buildsystem_eclass
127unset export_fns
128
129# @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
130# @DESCRIPTION:
131# Is qt-declarative required? Possible values are 'always', 'optional' and 'never'.
132# This variable must be set before inheriting any eclasses. Defaults to 'never'.
133DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
134
135# @ECLASS-VARIABLE: QTHELP_REQUIRED
136# @DESCRIPTION:
137# Is qt-assistant required? Possible values are 'always', 'optional' and 'never'.
138# This variable must be set before inheriting any eclasses. Defaults to 'never'.
139QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}"
140
141# @ECLASS-VARIABLE: OPENGL_REQUIRED
142# @DESCRIPTION:
143# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
144# This variable must be set before inheriting any eclasses. Defaults to 'never'.
145OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
146
147# @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED
148# @DESCRIPTION:
149# Is qt-multimedia required? Possible values are 'always', 'optional' and 'never'.
150# This variable must be set before inheriting any eclasses. Defaults to 'never'.
151MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
152
153# @ECLASS-VARIABLE: WEBKIT_REQUIRED
154# @DESCRIPTION:
155# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
156# This variable must be set before inheriting any eclasses. Defaults to 'never'.
157WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
158
159# @ECLASS-VARIABLE: CPPUNIT_REQUIRED
160# @DESCRIPTION:
161# Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
162# This variable must be set before inheriting any eclasses. Defaults to 'never'.
163CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
164
165# @ECLASS-VARIABLE: KDE_REQUIRED
166# @DESCRIPTION:
167# Is kde required? Possible values are 'always', 'optional' and 'never'.
168# This variable must be set before inheriting any eclasses. Defaults to 'always'
169# If set to 'always' or 'optional', KDE_MINIMAL may be overriden as well.
170# Note that for kde-base packages this variable is fixed to 'always'.
171KDE_REQUIRED="${KDE_REQUIRED:-always}"
172
173# @ECLASS-VARIABLE: KDE_HANDBOOK
174# @DESCRIPTION:
175# Set to enable handbook in application. Possible values are 'always', 'optional'
176# (handbook USE flag) and 'never'.
177# This variable must be set before inheriting any eclasses. Defaults to 'never'.
178# It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it
179# ensures buildtime and runtime dependencies.
180KDE_HANDBOOK="${KDE_HANDBOOK:-never}"
108 181
109# Setup packages inheriting this eclass 182# Setup packages inheriting this eclass
110case ${KDEBASE} in 183case ${KDEBASE} in
111 kde-base) 184 kde-base)
185 HOMEPAGE="http://www.kde.org/"
186 LICENSE="GPL-2"
112 if [[ $BUILD_TYPE = live ]]; then 187 if [[ $BUILD_TYPE = live ]]; then
113 # Disable tests for live ebuilds 188 # Disable tests for live ebuilds
114 RESTRICT+=" test" 189 RESTRICT+=" test"
115 # Live ebuilds in kde-base default to kdeprefix by default 190 # Live ebuilds in kde-base default to kdeprefix by default
116 IUSE+=" +kdeprefix" 191 IUSE+=" +kdeprefix"
117 else 192 else
118 # All other ebuild types default to -kdeprefix as before 193 # All other ebuild types default to -kdeprefix as before
119 IUSE+=" kdeprefix" 194 IUSE+=" kdeprefix"
120 fi 195 fi
121 # Determine SLOT from PVs
122 case ${PV} in
123 *.9999*) SLOT="${PV/.9999*/}" ;; # stable live
124 4.5* | 4.4.[6-9]*) SLOT="4.5" ;;
125 4.4* | 4.3.[6-9]*) SLOT="4.4" ;;
126 4.3*) SLOT="4.3" ;;
127 9999*) SLOT="live" ;; # regular live
128 *) die "Unsupported ${PV}" ;;
129 esac
130 # This code is to prevent portage from searching GENTOO_MIRRORS for 196 # This code is to prevent portage from searching GENTOO_MIRRORS for
131 # packages that will never be mirrored. (As they only will ever be in 197 # packages that will never be mirrored. (As they only will ever be in
132 # the overlay). 198 # the overlay).
133 case ${PV} in 199 case ${PV} in
134 *9999* | 4.?.[6-9]?) 200 *9999* | 4.?.[6-9]?)
135 RESTRICT+=" mirror" 201 RESTRICT+=" mirror"
136 ;; 202 ;;
137 esac 203 esac
138 KDE_MINIMAL="${SLOT}"
139 _kdedir="${SLOT}"
140
141 # Block installation of other SLOTS unless kdeprefix 204 # Block installation of other SLOTS unless kdeprefix
142 RDEPEND+=" $(block_other_slots)" 205 RDEPEND+=" $(block_other_slots)"
143 ;; 206 ;;
144 koffice) 207 koffice)
145 SLOT="2" 208 HOMEPAGE="http://www.koffice.org/"
209 LICENSE="GPL-2"
210 ;;
211 kdevelop)
212 HOMEPAGE="http://www.kdevelop.org/"
213 LICENSE="GPL-2"
146 ;; 214 ;;
147esac 215esac
148 216
149# @ECLASS-VARIABLE: QT_MINIMAL 217# @ECLASS-VARIABLE: QT_MINIMAL
150# @DESCRIPTION: 218# @DESCRIPTION:
151# Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1.. 219# Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1...
152# Currently defaults to 4.5.1 for KDE 4.3 and earlier 220# 4.6.0 for 4.4, 4.6.3 for 4.5, and 4.7.0 for 4.6 and later
153# or 4.6.0_rc1 for KDE 4.4 and later
154if slot_is_at_least 4.4 "${KDE_MINIMAL}"; then 221if slot_is_at_least 4.6 "${KDE_MINIMAL}"; then
222 QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
223elif slot_is_at_least 4.5 "${KDE_MINIMAL}"; then
224 QT_MINIMAL="${QT_MINIMAL:-4.6.3}"
225else
155 QT_MINIMAL="${QT_MINIMAL:-4.6.0}" 226 QT_MINIMAL="${QT_MINIMAL:-4.6.0}"
156fi 227fi
157 228
158QT_MINIMAL="${QT_MINIMAL:-4.5.1}" 229# Declarative dependencies
230qtdeclarativedepend="
231 >=x11-libs/qt-declarative-${QT_MINIMAL}:4
232"
233case ${DECLARATIVE_REQUIRED} in
234 always)
235 COMMONDEPEND+=" ${qtdeclarativedepend}"
236 ;;
237 optional)
238 IUSE+=" declarative"
239 COMMONDEPEND+=" declarative? ( ${qtdeclarativedepend} )"
240 ;;
241 *) ;;
242esac
243unset qtdeclarativedepend
244
245# QtHelp dependencies
246qthelpdepend="
247 >=x11-libs/qt-assistant-${QT_MINIMAL}:4
248"
249case ${QTHELP_REQUIRED} in
250 always)
251 COMMONDEPEND+=" ${qthelpdepend}"
252 ;;
253 optional)
254 IUSE+=" qthelp"
255 COMMONDEPEND+=" qthelp? ( ${qthelpdepend} )"
256 ;;
257esac
258unset qthelpdepend
159 259
160# OpenGL dependencies 260# OpenGL dependencies
161qtopengldepend=" 261qtopengldepend="
162 >=x11-libs/qt-opengl-${QT_MINIMAL}:4 262 >=x11-libs/qt-opengl-${QT_MINIMAL}:4
163" 263"
230 *) ;; 330 *) ;;
231esac 331esac
232unset cppuintdepend 332unset cppuintdepend
233 333
234# KDE dependencies 334# KDE dependencies
335# Qt accessibility classes are needed in various places, bug 325461
235kdecommondepend=" 336kdecommondepend="
236 dev-lang/perl 337 dev-lang/perl
237 >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl] 338 >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
238 >=x11-libs/qt-gui-${QT_MINIMAL}:4[dbus] 339 >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus]
239 >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[kde] 340 >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility,kde]
240 >=x11-libs/qt-script-${QT_MINIMAL}:4 341 >=x11-libs/qt-script-${QT_MINIMAL}:4
241 >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support] 342 >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support]
242 >=x11-libs/qt-svg-${QT_MINIMAL}:4 343 >=x11-libs/qt-svg-${QT_MINIMAL}:4
243 >=x11-libs/qt-test-${QT_MINIMAL}:4 344 >=x11-libs/qt-test-${QT_MINIMAL}:4
244 !aqua? ( 345 !aqua? (
245 x11-libs/libXext 346 x11-libs/libXext
246 x11-libs/libXt 347 x11-libs/libXt
247 x11-libs/libXxf86vm 348 x11-libs/libXxf86vm
248 ) 349 )
249" 350"
351
250if [[ ${PN} != kdelibs ]]; then 352if [[ ${PN} != kdelibs ]]; then
251 if [[ ${KDEBASE} = kde-base ]]; then
252 kdecommondepend+=" $(add_kdebase_dep kdelibs)" 353 kdecommondepend+=" $(add_kdebase_dep kdelibs)"
253 # libknotificationitem only when SLOT is 4.3 354 if [[ ${KDEBASE} = kdevelop ]]; then
254 [[ ${PN} != libknotificationitem ]] && [[ ${SLOT} = 4.3 ]] && \ 355 if [[ ${PN} != kdevplatform ]]; then
255 kdecommondepend+=" $(add_kdebase_dep libknotificationitem)" 356 # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED
256 else 357 # @DESCRIPTION:
358 # Specifies whether kdevplatform is required. Possible values are 'always' (default) and 'never'.
359 # Applies to KDEBASE=kdevelop only.
360 KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}"
361 case ${KDEVPLATFORM_REQUIRED} in
362 always)
257 kdecommondepend+=" 363 kdecommondepend+="
258 >=kde-base/kdelibs-${KDE_MINIMAL} 364 >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION}
259 " 365 "
366 ;;
367 *) ;;
368 esac
369 fi
260 fi 370 fi
261fi 371fi
262kdedepend=" 372kdedepend="
263 dev-util/automoc 373 dev-util/automoc
264 dev-util/pkgconfig 374 dev-util/pkgconfig
265 !aqua? ( 375 !aqua? (
266 || ( >=x11-libs/libXtst-1.1.0 <x11-proto/xextproto-7.1.0 ) 376 >=x11-libs/libXtst-1.1.0
267 x11-proto/xf86vidmodeproto 377 x11-proto/xf86vidmodeproto
268 ) 378 )
269" 379"
380kderdepend=""
381
382if [[ ${PN} != oxygen-icons ]]; then
383 kderdepend+=" $(add_kdebase_dep oxygen-icons)"
384fi
385
386kdehandbookdepend="
387 app-text/docbook-xml-dtd:4.2
388 app-text/docbook-xsl-stylesheets
389"
390kdehandbookrdepend="
391 $(add_kdebase_dep kdelibs 'handbook')
392"
393case ${KDE_HANDBOOK} in
394 always)
395 kdedepend+=" ${kdehandbookdepend}"
396 [[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}"
397 ;;
398 optional)
399 IUSE+=" +handbook"
400 kdedepend+=" handbook? ( ${kdehandbookdepend} )"
401 [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )"
402 ;;
403 *) ;;
404esac
405unset kdehandbookdepend kdehandbookrdepend
406
270case ${KDE_REQUIRED} in 407case ${KDE_REQUIRED} in
271 always) 408 always)
272 IUSE+=" aqua" 409 IUSE+=" aqua"
273 COMMONDEPEND+=" ${kdecommondepend}" 410 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}"
274 DEPEND+=" ${kdedepend}" 411 [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}"
412 [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}"
275 ;; 413 ;;
276 optional) 414 optional)
277 IUSE+=" aqua kde" 415 IUSE+=" aqua kde"
278 COMMONDEPEND+=" kde? ( ${kdecommondepend} )" 416 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
279 DEPEND+=" kde? ( ${kdedepend} )" 417 [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )"
418 [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )"
280 ;; 419 ;;
281 *) ;; 420 *) ;;
282esac 421esac
283 422
284unset kdecommondepend kdedepend 423unset kdecommondepend kdedepend kderdepend
285 424
286debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}" 425debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
287debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}" 426debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
288debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}" 427debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
289 428
297 436
298# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a 437# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
299# koffice ebuild, the URI should be set in the ebuild itself 438# koffice ebuild, the URI should be set in the ebuild itself
300case ${BUILD_TYPE} in 439case ${BUILD_TYPE} in
301 live) 440 live)
302 # Determine branch URL based on live type
303 local branch_prefix
304 case ${PV} in
305 9999*)
306 # trunk
307 branch_prefix="trunk/KDE"
308 ;;
309 *)
310 # branch
311 branch_prefix="branches/KDE/${SLOT}"
312 # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
313 # @DESCRIPTION
314 # Suffix appended to ESVN_PROJECT depending on fetched branch.
315 # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
316 ESVN_PROJECT_SUFFIX="-${PV}"
317 ;;
318 esac
319 SRC_URI="" 441 SRC_URI=""
442 if has subversion ${INHERITED}; then
443 # Determine branch URL based on live type
444 local branch_prefix
445 case ${PV} in
446 9999*)
447 # trunk
448 branch_prefix="trunk/KDE"
449 ;;
450 *)
451 # branch
452 branch_prefix="branches/KDE/${SLOT}"
453 # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
454 # @DESCRIPTION
455 # Suffix appended to ESVN_PROJECT depending on fetched branch.
456 # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
457 ESVN_PROJECT_SUFFIX="-${PV}"
458 ;;
459 esac
320 # @ECLASS-VARIABLE: ESVN_MIRROR 460 # @ECLASS-VARIABLE: ESVN_MIRROR
321 # @DESCRIPTION: 461 # @DESCRIPTION:
322 # This variable allows easy overriding of default kde mirror service 462 # This variable allows easy overriding of default kde mirror service
323 # (anonsvn) with anything else you might want to use. 463 # (anonsvn) with anything else you might want to use.
324 ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde} 464 ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
325 # Split ebuild, or extragear stuff 465 # Split ebuild, or extragear stuff
326 if [[ -n ${KMNAME} ]]; then 466 if [[ -n ${KMNAME} ]]; then
327 ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}" 467 ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
468 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
469 KMMODULE="${PN}"
470 fi
471 # Split kde-base/ ebuilds: (they reside in trunk/KDE)
472 case ${KMNAME} in
473 kdebase-*)
474 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
475 ;;
476 kdelibs-*)
477 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
478 ;;
479 kdereview*)
480 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
481 ;;
482 kdesupport)
483 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
484 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
485 ;;
486 kde*)
487 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
488 ;;
489 extragear*|playground*)
490 # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
491 # build packages from same svn location.
492 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
493 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
494 ;;
495 koffice)
496 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
497 ;;
498 *)
499 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
500 ;;
501 esac
502 else
503 # kdelibs, kdepimlibs
504 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
505 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
506 fi
507 # @ECLASS-VARIABLE: ESVN_UP_FREQ
508 # @DESCRIPTION:
509 # This variable is used for specifying the timeout between svn synces
510 # for kde-base and koffice modules. Does not affect misc apps.
511 # Default value is 1 hour.
512 [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
513 elif has git ${INHERITED}; then
328 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then 514 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
329 KMMODULE="${PN}" 515 KMMODULE="${PN}"
330 fi 516 fi
331 # Split kde-base/ ebuilds: (they reside in trunk/KDE)
332 case ${KMNAME} in 517 case ${KDEBASE} in
333 kdebase-*) 518 kdevelop)
334 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}" 519 EGIT_REPO_URI="git://git.kde.org/${KMMODULE}"
335 ;;
336 kdelibs-*)
337 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
338 ;;
339 kdereview*)
340 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
341 ;;
342 kdesupport)
343 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
344 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
345 ;;
346 kde*)
347 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
348 ;;
349 extragear*|playground*)
350 # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
351 # build packages from same svn location.
352 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
353 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
354 ;;
355 koffice)
356 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
357 ;;
358 *)
359 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
360 ;; 520 ;;
361 esac 521 esac
362 else
363 # kdelibs, kdepimlibs
364 ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
365 ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
366 fi 522 fi
367 # @ECLASS-VARIABLE: ESVN_UP_FREQ
368 # @DESCRIPTION:
369 # This variable is used for specifying the timeout between svn synces
370 # for kde-base and koffice modules. Does not affect misc apps.
371 # Default value is 1 hour.
372 [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
373 ;; 523 ;;
374 *) 524 *)
375 if [[ -n ${KDEBASE} ]]; then 525 if [[ -n ${KDEBASE} ]]; then
376 if [[ -n ${KMNAME} ]]; then 526 if [[ -n ${KMNAME} ]]; then
377 case ${KMNAME} in 527 case ${KMNAME} in
385 fi 535 fi
386 _kmname_pv="${_kmname}-${PV}" 536 _kmname_pv="${_kmname}-${PV}"
387 case ${KDEBASE} in 537 case ${KDEBASE} in
388 kde-base) 538 kde-base)
389 case ${PV} in 539 case ${PV} in
390 4.[34].8[05] | 4.[34].9[0568]) 540 4.5.93)
391 # block for normally packed unstable releases 541 # Only kdepim and kdepim-runtime 4.6beta here
392 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;; 542 SRC_URI="mirror://kde/unstable/kdepim/${PV}/${_kmname}-4.6beta3.tar.bz2"
393 4.[34].[6-9]*)
394 # Repacked tarballs: need to depend on xz-utils to ensure that they can be unpacked
395 SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.xz"
396 DEPEND+=" app-arch/xz-utils"
397 ;; 543 ;;
544 4.[456].8[05] | 4.[456].9[023568])
545 # Unstable KDE SC releases
546 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
547 ;;
548 4.4.6 | 4.4.7 | 4.4.8 | 4.4.9 | 4.4.10)
549 # Only kdepim here
550 SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
551 ;;
552 *)
553 # Stable KDE SC releases
398 *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;; 554 SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
555 ;;
399 esac 556 esac
400 ;; 557 ;;
401 koffice) 558 koffice)
402 case ${PV} in 559 case ${PV} in
403 2.0.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" ;; 560 2.1.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
404 *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;; 561 *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
405 esac 562 esac
563 ;;
564 kdevelop)
565 SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
566 ;;
406 esac 567 esac
407 unset _kmname _kmname_pv 568 unset _kmname _kmname_pv
408 fi 569 fi
409 ;; 570 ;;
410esac 571esac
439 # Don't set KDEHOME during compilation, it will cause access violations 600 # Don't set KDEHOME during compilation, it will cause access violations
440 unset KDEHOME 601 unset KDEHOME
441 602
442 if [[ ${KDEBASE} = kde-base ]]; then 603 if [[ ${KDEBASE} = kde-base ]]; then
443 if use kdeprefix; then 604 if use kdeprefix; then
444 KDEDIR=/usr/kde/${_kdedir} 605 KDEDIR=/usr/kde/${SLOT}
445 else 606 else
446 KDEDIR=/usr 607 KDEDIR=/usr
447 fi 608 fi
448 : ${PREFIX:=${KDEDIR}} 609 : ${PREFIX:=${KDEDIR}}
449 else 610 else
479 # Point to correct QT plugins path 640 # Point to correct QT plugins path
480 QT_PLUGIN_PATH="${EKDEDIR}/$(get_libdir)/kde4/plugins/" 641 QT_PLUGIN_PATH="${EKDEDIR}/$(get_libdir)/kde4/plugins/"
481 642
482 # Fix XDG collision with sandbox 643 # Fix XDG collision with sandbox
483 export XDG_CONFIG_HOME="${T}" 644 export XDG_CONFIG_HOME="${T}"
484 # Not needed anymore
485 unset _kdedir
486} 645}
487 646
488# @FUNCTION: kde4-base_src_unpack 647# @FUNCTION: kde4-base_src_unpack
489# @DESCRIPTION: 648# @DESCRIPTION:
490# This function unpacks the source tarballs for KDE4 applications. 649# This function unpacks the source tarballs for KDE4 applications.
491kde4-base_src_unpack() { 650kde4-base_src_unpack() {
492 debug-print-function ${FUNCNAME} "$@" 651 debug-print-function ${FUNCNAME} "$@"
493 652
494 if [[ ${BUILD_TYPE} = live ]]; then 653 if [[ ${BUILD_TYPE} = live ]]; then
654 if has subversion ${INHERITED}; then
495 migrate_store_dir 655 migrate_store_dir
496 subversion_src_unpack 656 subversion_src_unpack
657 elif has git ${INHERITED}; then
658 git_src_unpack
659 fi
497 elif [[ ${EAPI} == 2 ]]; then 660 elif [[ ${EAPI} == 2 ]]; then
498 local file 661 local file
499 for file in ${A}; do 662 for file in ${A}; do
500 # This setup is because EAPI <= 2 cannot unpack *.tar.xz files 663 # This setup is because EAPI <= 2 cannot unpack *.tar.xz files
501 # directly, so we do it ourselves (using the exact same code as portage) 664 # directly, so we do it ourselves (using the exact same code as portage)
535 # kdelibs inherits kde4-base but handle installing the handbook itself 698 # kdelibs inherits kde4-base but handle installing the handbook itself
536 if ! has kde4-meta ${INHERITED}; then 699 if ! has kde4-meta ${INHERITED}; then
537 has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas 700 has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas
538 fi 701 fi
539 702
540 [[ ${BUILD_TYPE} = live ]] && subversion_src_prepare 703 # SCM bootstrap
704 if [[ ${BUILD_TYPE} = live ]]; then
705 if has subversion ${INHERITED}; then
706 subversion_src_prepare
707 elif has git ${INHERITED}; then
708 git_src_prepare
709 fi
710 fi
541 711
542 # Apply patches 712 # Apply patches
543 base_src_prepare 713 base_src_prepare
544 epatch_user
545 714
546 # Save library dependencies 715 # Save library dependencies
547 if [[ -n ${KMSAVELIBS} ]] ; then 716 if [[ -n ${KMSAVELIBS} ]] ; then
548 save_library_dependencies 717 save_library_dependencies
549 fi 718 fi
550 719
551 # Inject library dependencies 720 # Inject library dependencies
552 if [[ -n ${KMLOADLIBS} ]] ; then 721 if [[ -n ${KMLOADLIBS} ]] ; then
553 load_library_dependencies 722 load_library_dependencies
723 fi
724
725 # Replace KDE4Workspace library targets
726 find "${S}" -name CMakeLists.txt \
727 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' {} + \
728 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' {} + \
729 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' {} + \
730 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' {} + \
731 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' {} + \
732 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' {} + \
733 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' {} + \
734 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' {} + \
735 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' {} + \
736 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' {} + \
737 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' {} + \
738 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' {} + \
739 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' {} + \
740 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' {} + \
741 -exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' {} + \
742 || die 'failed to replace KDE4Workspace library targets'
743
744 # Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...
745 if [[ -z ${KDEBASE} ]]; then
746 find "${S}" -name "*.docbook" \
747 -exec sed -i -r \
748 -e 's:-//KDE//DTD DocBook XML V4\.1(\..)?-Based Variant V1\.[01]//EN:-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN:g' {} + \
749 || die 'failed to fix DocBook variant version'
554 fi 750 fi
555} 751}
556 752
557# @FUNCTION: kde4-base_src_configure 753# @FUNCTION: kde4-base_src_configure
558# @DESCRIPTION: 754# @DESCRIPTION:
577 773
578 # Set distribution name 774 # Set distribution name
579 [[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo) 775 [[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo)
580 776
581 # Here we set the install prefix 777 # Here we set the install prefix
582 cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}") 778 tc-is-cross-compiler || cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
583 779
584 # Use colors 780 # Use colors
585 QTEST_COLORED=1 781 QTEST_COLORED=1
586 782
587 # Shadow existing /usr installations 783 # Shadow existing /usr installations
590 # Handle kdeprefix-ed KDE 786 # Handle kdeprefix-ed KDE
591 if [[ ${KDEDIR} != /usr ]]; then 787 if [[ ${KDEDIR} != /usr ]]; then
592 # Override some environment variables - only when kdeprefix is different, 788 # Override some environment variables - only when kdeprefix is different,
593 # to not break ccache/distcc 789 # to not break ccache/distcc
594 PATH="${EKDEDIR}/bin:${PATH}" 790 PATH="${EKDEDIR}/bin:${PATH}"
595 LDPATH="${EKDEDIR}/$(get_libdir)${LDPATH+:}${LDPATH}" 791
792 # Append library search path
793 append-ldflags -L"${EKDEDIR}/$(get_libdir)"
596 794
597 # Append full RPATH 795 # Append full RPATH
598 cmakeargs+=(-DCMAKE_SKIP_RPATH=OFF) 796 cmakeargs+=(-DCMAKE_SKIP_RPATH=OFF)
599 797
600 # Set cmake prefixes to allow buildsystem to locate valid KDE installation 798 # Set cmake prefixes to allow buildsystem to locate valid KDE installation
601 # when more are present 799 # when more are present
602 cmakeargs+=(-DCMAKE_SYSTEM_PREFIX_PATH="${EKDEDIR}") 800 cmakeargs+=(-DCMAKE_SYSTEM_PREFIX_PATH="${EKDEDIR}")
603 fi 801 fi
802
803 #qmake -query QT_INSTALL_LIBS unavailable when cross-compiling
804 tc-is-cross-compiler && cmakeargs+=(-DQT_LIBRARY_DIR=${ROOT}/usr/lib/qt4)
805 #kde-config -path data unavailable when cross-compiling
806 tc-is-cross-compiler && cmakeargs+=(-DKDE4_DATA_DIR=${ROOT}/usr/share/apps/)
604 807
605 # Handle kdeprefix in application itself 808 # Handle kdeprefix in application itself
606 if ! has kdeprefix ${IUSE//+} || ! use kdeprefix; then 809 if ! has kdeprefix ${IUSE//+} || ! use kdeprefix; then
607 # If prefix is /usr, sysconf needs to be /etc, not /usr/etc 810 # If prefix is /usr, sysconf needs to be /etc, not /usr/etc
608 cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc) 811 cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc)
635 # Override this value, set in kde4-base_src_configure() 838 # Override this value, set in kde4-base_src_configure()
636 mycmakeargs+=(-DKDE4_BUILD_TESTS=ON) 839 mycmakeargs+=(-DKDE4_BUILD_TESTS=ON)
637 cmake-utils_src_configure 840 cmake-utils_src_configure
638 kde4-base_src_compile 841 kde4-base_src_compile
639 842
843 if [[ ${VIRTUALX_REQUIRED} == always ]] ||
844 ( [[ ${VIRTUALX_REQUIRED} != manual ]] && use test ); then
845
846 if [[ ${maketype} ]]; then
847 # surprise- we are already INSIDE virtualmake!!!
848 ewarn "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
849 ewarn " You may NOT set maketype or call virtualmake from the ebuild. Applying workaround."
850 cmake-utils_src_test
851 else
852 export maketype="cmake-utils_src_test"
853 virtualmake
854 fi
855 else
640 cmake-utils_src_test 856 cmake-utils_src_test
857 fi
641} 858}
642 859
643# @FUNCTION: kde4-base_src_install 860# @FUNCTION: kde4-base_src_install
644# @DESCRIPTION: 861# @DESCRIPTION:
645# Function for installing KDE4 applications. 862# Function for installing KDE4 applications.
653 870
654 if [[ -n ${KMSAVELIBS} ]] ; then 871 if [[ -n ${KMSAVELIBS} ]] ; then
655 install_library_dependencies 872 install_library_dependencies
656 fi 873 fi
657 874
658 kde4-base_src_make_doc 875 # Install common documentation of KDE4 applications
876 local doc
877 if ! has kde4-meta ${INHERITED}; then
878 for doc in "${S}"/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
879 [[ -f "${doc}" ]] && [[ -s "${doc}" ]] && dodoc "${doc}"
880 done
881 for doc in "${S}"/*/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
882 [[ -f "${doc}" ]] && [[ -s "${doc}" ]] && newdoc "${doc}" "$(basename $(dirname ${doc})).$(basename ${doc})"
883 done
884 fi
885
659 cmake-utils_src_install 886 cmake-utils_src_install
660}
661
662# @FUNCTION: kde4-base_src_make_doc
663# @DESCRIPTION:
664# Function for installing the documentation of KDE4 applications.
665kde4-base_src_make_doc() {
666 debug-print-function ${FUNCNAME} "$@"
667
668 local doc
669 for doc in AUTHORS ChangeLog* README* NEWS TODO; do
670 [[ -s ${doc} ]] && dodoc ${doc}
671 done
672
673 if [[ -z ${KMNAME} ]]; then
674 for doc in {apps,runtime,workspace,.}/*/{AUTHORS,README*}; do
675 if [[ -s ${doc} ]]; then
676 local doc_complete=${doc}
677 doc="${doc#*/}"
678 newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
679 fi
680 done
681 fi
682} 887}
683 888
684# @FUNCTION: kde4-base_pkg_postinst 889# @FUNCTION: kde4-base_pkg_postinst
685# @DESCRIPTION: 890# @DESCRIPTION:
686# Function to rebuild the KDE System Configuration Cache after an application has been installed. 891# Function to rebuild the KDE System Configuration Cache after an application has been installed.

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.84

  ViewVC Help
Powered by ViewVC 1.1.20