| 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.69 2010/09/09 17:02:30 reavertm Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.74 2010/09/14 12:39:51 reavertm 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 |
| … | |
… | |
| 60 | case ${KDEBASE} in |
60 | case ${KDEBASE} in |
| 61 | kde-base) |
61 | kde-base) |
| 62 | # Determine SLOT from PVs |
62 | # Determine SLOT from PVs |
| 63 | case ${PV} in |
63 | case ${PV} in |
| 64 | *.9999*) SLOT="${PV/.9999*/}" ;; # stable live |
64 | *.9999*) SLOT="${PV/.9999*/}" ;; # stable live |
| 65 | 4.6* | 4.5.[6-9]*) SLOT="4.6" ;; |
65 | 4.6* | 4.5.[6-9][0-9]*) SLOT="4.6" ;; |
| 66 | 4.5* | 4.4.[6-9]*) SLOT="4.5" ;; |
66 | 4.5* | 4.4.[6-9][0-9]*) SLOT="4.5" ;; |
| 67 | 4.4* | 4.3.[6-9]*) SLOT="4.4" ;; |
67 | 4.4* | 4.3.[6-9][0-9]*) SLOT="4.4" ;; |
| 68 | 9999*) SLOT="live" ;; # regular live |
68 | 9999*) SLOT="live" ;; # regular live |
| 69 | *) die "Unsupported ${PV}" ;; |
69 | *) die "Unsupported ${PV}" ;; |
| 70 | esac |
70 | esac |
| 71 | KDE_MINIMAL="${SLOT}" |
71 | KDE_MINIMAL="${SLOT}" |
| 72 | ;; |
72 | ;; |
| … | |
… | |
| 139 | |
139 | |
| 140 | # @ECLASS-VARIABLE: KDE_REQUIRED |
140 | # @ECLASS-VARIABLE: KDE_REQUIRED |
| 141 | # @DESCRIPTION: |
141 | # @DESCRIPTION: |
| 142 | # Is kde required? Possible values are 'always', 'optional' and 'never'. |
142 | # Is kde required? Possible values are 'always', 'optional' and 'never'. |
| 143 | # This variable must be set before inheriting any eclasses. Defaults to 'always' |
143 | # This variable must be set before inheriting any eclasses. Defaults to 'always' |
| 144 | # If set to always or optional, KDE_MINIMAL may be overriden as well. |
144 | # If set to 'always' or 'optional', KDE_MINIMAL may be overriden as well. |
| 145 | # Note that for kde-base packages this variable is fixed to 'always'. |
145 | # Note that for kde-base packages this variable is fixed to 'always'. |
| 146 | KDE_REQUIRED="${KDE_REQUIRED:-always}" |
146 | KDE_REQUIRED="${KDE_REQUIRED:-always}" |
| 147 | |
147 | |
| 148 | # @ECLASS-VARIABLE: KDE_HANDBOOK |
148 | # @ECLASS-VARIABLE: KDE_HANDBOOK |
| 149 | # @DESCRIPTION: |
149 | # @DESCRIPTION: |
| 150 | # Set to enable handbook in application. It adds +handbook to IUSE, handbook dirs |
150 | # 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 |
| 151 | # to KMEXTRA and ensures buildtime and runtime dependencies. |
154 | # ensures buildtime and runtime dependencies. |
| 152 | [[ -n ${KDE_HANDBOOK} ]] && IUSE+=" +handbook" |
155 | KDE_HANDBOOK="${KDE_HANDBOOK:-never}" |
| 153 | |
156 | |
| 154 | # Setup packages inheriting this eclass |
157 | # Setup packages inheriting this eclass |
| 155 | case ${KDEBASE} in |
158 | case ${KDEBASE} in |
| 156 | kde-base) |
159 | kde-base) |
| 157 | HOMEPAGE="http://www.kde.org/" |
160 | HOMEPAGE="http://www.kde.org/" |
| … | |
… | |
| 271 | unset cppuintdepend |
274 | unset cppuintdepend |
| 272 | |
275 | |
| 273 | # KDE dependencies |
276 | # KDE dependencies |
| 274 | # Qt accessibility classes are needed in various places, bug 325461 |
277 | # Qt accessibility classes are needed in various places, bug 325461 |
| 275 | kdecommondepend=" |
278 | kdecommondepend=" |
|
|
279 | dev-lang/perl |
| 276 | >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl] |
280 | >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl] |
| 277 | >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus] |
281 | >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus] |
| 278 | >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility,kde] |
282 | >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility,kde] |
| 279 | >=x11-libs/qt-script-${QT_MINIMAL}:4 |
283 | >=x11-libs/qt-script-${QT_MINIMAL}:4 |
| 280 | >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support] |
284 | >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support] |
| … | |
… | |
| 284 | x11-libs/libXext |
288 | x11-libs/libXext |
| 285 | x11-libs/libXt |
289 | x11-libs/libXt |
| 286 | x11-libs/libXxf86vm |
290 | x11-libs/libXxf86vm |
| 287 | ) |
291 | ) |
| 288 | " |
292 | " |
| 289 | #perl is not needed on host (+ difficult crosscompilation) |
|
|
| 290 | tc-is-cross-compiler || kdecommondepend+=" dev-lang/perl" |
|
|
| 291 | |
293 | |
| 292 | if [[ ${PN} != kdelibs ]]; then |
294 | if [[ ${PN} != kdelibs ]]; then |
| 293 | if [[ ${KDEBASE} = kde-base ]]; then |
|
|
| 294 | kdecommondepend+=" $(add_kdebase_dep kdelibs)" |
295 | kdecommondepend+=" $(add_kdebase_dep kdelibs)" |
| 295 | else |
|
|
| 296 | kdecommondepend+=" |
|
|
| 297 | >=kde-base/kdelibs-${KDE_MINIMAL} |
|
|
| 298 | " |
|
|
| 299 | if [[ ${KDEBASE} = kdevelop ]]; then |
296 | if [[ ${KDEBASE} = kdevelop ]]; then |
| 300 | if [[ ${PN} != kdevplatform ]]; then |
297 | if [[ ${PN} != kdevplatform ]]; then |
| 301 | # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED |
298 | # @ECLASS-VARIABLE: KDEVPLATFORM_REQUIRED |
| 302 | # @DESCRIPTION: |
299 | # @DESCRIPTION: |
| 303 | # Specifies whether kdevplatform is required. Possible values are 'always' (default) and 'never'. |
300 | # Specifies whether kdevplatform is required. Possible values are 'always' (default) and 'never'. |
| 304 | # Applies to KDEBASE=kdevelop only. |
301 | # Applies to KDEBASE=kdevelop only. |
| 305 | KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}" |
302 | KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}" |
| 306 | case ${KDEVPLATFORM_REQUIRED} in |
303 | case ${KDEVPLATFORM_REQUIRED} in |
| 307 | always) |
304 | always) |
| 308 | kdecommondepend+=" |
305 | kdecommondepend+=" |
| 309 | >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION} |
306 | >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION} |
| 310 | " |
307 | " |
| 311 | ;; |
308 | ;; |
| 312 | *) ;; |
309 | *) ;; |
| 313 | esac |
310 | esac |
| 314 | fi |
|
|
| 315 | fi |
311 | fi |
| 316 | fi |
312 | fi |
| 317 | fi |
313 | fi |
| 318 | kdedepend=" |
314 | kdedepend=" |
| 319 | dev-util/automoc |
315 | dev-util/automoc |
| … | |
… | |
| 321 | !aqua? ( |
317 | !aqua? ( |
| 322 | || ( >=x11-libs/libXtst-1.1.0 <x11-proto/xextproto-7.1.0 ) |
318 | || ( >=x11-libs/libXtst-1.1.0 <x11-proto/xextproto-7.1.0 ) |
| 323 | x11-proto/xf86vidmodeproto |
319 | x11-proto/xf86vidmodeproto |
| 324 | ) |
320 | ) |
| 325 | " |
321 | " |
| 326 | |
|
|
| 327 | # Handbook handling - dependencies |
|
|
| 328 | if [[ -n ${KDE_HANDBOOK} ]]; then |
|
|
| 329 | kdedepend+=" |
322 | kderdepend="" |
| 330 | handbook? ( |
323 | |
|
|
324 | kdehandbookdepend=" |
| 331 | app-text/docbook-xml-dtd:4.2 |
325 | app-text/docbook-xml-dtd:4.2 |
| 332 | app-text/docbook-xsl-stylesheets |
326 | app-text/docbook-xsl-stylesheets |
| 333 | ) |
327 | " |
| 334 | " |
328 | kdehandbookrdepend=" |
| 335 | if [[ ${PN} != kdelibs ]]; then |
329 | $(add_kdebase_dep kdelibs 'handbook') |
| 336 | if [[ ${KDEBASE} = kde-base ]]; then |
330 | " |
| 337 | PDEPEND+=" handbook? ( $(add_kdebase_dep kdelibs 'handbook') )" |
331 | case ${KDE_HANDBOOK} in |
| 338 | else |
332 | always) |
| 339 | PDEPEND+=" handbook? ( >=kde-base/kdelibs-${KDE_MINIMAL}[handbook] )" |
333 | kdedepend+=" ${kdehandbookdepend}" |
| 340 | fi |
334 | [[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}" |
| 341 | elif [[ ${PN} != khelpcenter ]]; then |
335 | ;; |
| 342 | if [[ ${KDEBASE} = kde-base ]]; then |
336 | optional) |
| 343 | PDEPEND+=" handbook? ( $(add_kdebase_dep khelpcenter 'handbook') )" |
337 | IUSE+=" +handbook" |
| 344 | else |
338 | kdedepend+=" handbook? ( ${kdehandbookdepend} )" |
| 345 | PDEPEND+=" handbook? ( >=kde-base/khelpcenter-${KDE_MINIMAL}[handbook] )" |
339 | [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )" |
| 346 | fi |
340 | ;; |
| 347 | fi |
341 | *) ;; |
| 348 | fi |
342 | esac |
|
|
343 | unset kdehandbookdepend kdehandbookrdepend |
| 349 | |
344 | |
| 350 | case ${KDE_REQUIRED} in |
345 | case ${KDE_REQUIRED} in |
| 351 | always) |
346 | always) |
| 352 | IUSE+=" aqua" |
347 | IUSE+=" aqua" |
| 353 | COMMONDEPEND+=" ${kdecommondepend}" |
348 | [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}" |
| 354 | DEPEND+=" ${kdedepend}" |
349 | [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}" |
|
|
350 | [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}" |
| 355 | ;; |
351 | ;; |
| 356 | optional) |
352 | optional) |
| 357 | IUSE+=" aqua kde" |
353 | IUSE+=" aqua kde" |
| 358 | COMMONDEPEND+=" kde? ( ${kdecommondepend} )" |
354 | [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )" |
| 359 | DEPEND+=" kde? ( ${kdedepend} )" |
355 | [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )" |
|
|
356 | [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )" |
| 360 | ;; |
357 | ;; |
| 361 | *) ;; |
358 | *) ;; |
| 362 | esac |
359 | esac |
| 363 | |
360 | |
| 364 | unset kdecommondepend kdedepend |
361 | unset kdecommondepend kdedepend kderdepend |
| 365 | |
362 | |
| 366 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}" |
363 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}" |
| 367 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}" |
364 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}" |
| 368 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}" |
365 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}" |
| 369 | debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: PDEPEND is ${PDEPEND}" |
|
|
| 370 | |
366 | |
| 371 | # Accumulate dependencies set by this eclass |
367 | # Accumulate dependencies set by this eclass |
| 372 | DEPEND+=" ${COMMONDEPEND}" |
368 | DEPEND+=" ${COMMONDEPEND}" |
| 373 | RDEPEND+=" ${COMMONDEPEND}" |
369 | RDEPEND+=" ${COMMONDEPEND}" |
| 374 | unset COMMONDEPEND |
370 | unset COMMONDEPEND |
| … | |
… | |
| 477 | fi |
473 | fi |
| 478 | _kmname_pv="${_kmname}-${PV}" |
474 | _kmname_pv="${_kmname}-${PV}" |
| 479 | case ${KDEBASE} in |
475 | case ${KDEBASE} in |
| 480 | kde-base) |
476 | kde-base) |
| 481 | case ${PV} in |
477 | case ${PV} in |
| 482 | 4.[45].8[05] | 4.[45].9[02568]) |
478 | 4.[456].8[05] | 4.[456].9[023568]) |
| 483 | # Normally packed unstable releases |
479 | # Unstable KDE SC releases |
| 484 | SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;; |
480 | SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" |
| 485 | 4.[45].[6-9]*) |
|
|
| 486 | # Repacked tarballs: need to depend on xz-utils to ensure that they can be unpacked |
|
|
| 487 | SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/src/${_kmname_pv}.tar.xz" |
|
|
| 488 | DEPEND+=" app-arch/xz-utils" |
|
|
| 489 | ;; |
481 | ;; |
|
|
482 | 4.4.6) |
|
|
483 | # Only kdepim here |
|
|
484 | SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2" |
|
|
485 | ;; |
|
|
486 | *) |
|
|
487 | # Stable KDE SC releases |
| 490 | *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;; |
488 | SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" |
|
|
489 | ;; |
| 491 | esac |
490 | esac |
| 492 | ;; |
491 | ;; |
| 493 | koffice) |
492 | koffice) |
| 494 | case ${PV} in |
493 | case ${PV} in |
| 495 | 2.1.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;; |
494 | 2.1.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;; |