/[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.121 Revision 1.157
1# Copyright 1999-2012 Gentoo Foundation 1# Copyright 1999-2015 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.121 2012/08/19 11:12:35 johu Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.157 2015/07/01 11:28:23 mrueg 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
9# @DESCRIPTION: 9# @DESCRIPTION:
10# The kde4-base.eclass provides support for building KDE4 based ebuilds 10# The kde4-base.eclass provides support for building KDE4 based ebuilds
11# and KDE4 applications. 11# and KDE4 applications.
12# 12#
13# NOTE: KDE 4 ebuilds currently support EAPI "3". This will be reviewed 13# NOTE: KDE 4 ebuilds currently support EAPI 5. This will be
14# over time as new EAPI versions are approved. 14# reviewed over time as new EAPI versions are approved.
15
16if [[ -z ${_KDE4_BASE_ECLASS} ]]; then
17_KDE4_BASE_ECLASS=1
15 18
16# @ECLASS-VARIABLE: KDE_SELINUX_MODULE 19# @ECLASS-VARIABLE: KDE_SELINUX_MODULE
17# @DESCRIPTION: 20# @DESCRIPTION:
18# If set to "none", do nothing. 21# If set to "none", do nothing.
19# For any other value, add selinux to IUSE, and depending on that useflag 22# For any other value, add selinux to IUSE, and depending on that useflag
29# For proper description see virtualx.eclass manpage. 32# For proper description see virtualx.eclass manpage.
30# Here we redefine default value to be manual, if your package needs virtualx 33# Here we redefine default value to be manual, if your package needs virtualx
31# for tests you should proceed with setting VIRTUALX_REQUIRED=test. 34# for tests you should proceed with setting VIRTUALX_REQUIRED=test.
32: ${VIRTUALX_REQUIRED:=manual} 35: ${VIRTUALX_REQUIRED:=manual}
33 36
34inherit kde4-functions toolchain-funcs fdo-mime flag-o-matic gnome2-utils base virtualx versionator eutils multilib 37inherit kde4-functions toolchain-funcs fdo-mime flag-o-matic gnome2-utils virtualx versionator eutils multilib
35 38
36if [[ ${KDE_BUILD_TYPE} = live ]]; then 39if [[ ${KDE_BUILD_TYPE} = live ]]; then
37 case ${KDE_SCM} in 40 case ${KDE_SCM} in
38 svn) inherit subversion ;; 41 svn) inherit subversion ;;
39 git) inherit git-2 ;; 42 git) inherit git-r3 ;;
40 esac 43 esac
41fi 44fi
42 45
43# @ECLASS-VARIABLE: CMAKE_REQUIRED 46# @ECLASS-VARIABLE: CMAKE_REQUIRED
44# @DESCRIPTION: 47# @DESCRIPTION:
61KDE_MINIMAL="${KDE_MINIMAL:-4.4}" 64KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
62 65
63# Set slot for KDEBASE known packages 66# Set slot for KDEBASE known packages
64case ${KDEBASE} in 67case ${KDEBASE} in
65 kde-base) 68 kde-base)
66 SLOT=4 69 SLOT=4/$(get_version_component_range 1-2)
67 KDE_MINIMAL="${PV}" 70 KDE_MINIMAL="${PV}"
68 ;; 71 ;;
69 kdevelop) 72 kdevelop)
70 if [[ ${KDE_BUILD_TYPE} = live ]]; then 73 if [[ ${KDE_BUILD_TYPE} = live ]]; then
71 # @ECLASS-VARIABLE: KDEVELOP_VERSION 74 # @ECLASS-VARIABLE: KDEVELOP_VERSION
72 # @DESCRIPTION: 75 # @DESCRIPTION:
73 # Specifies KDevelop version. Default is 4.0.0 for tagged packages and 9999 for live packages. 76 # Specifies KDevelop version. Default is 4.0.0 for tagged packages and 9999 for live packages.
74 # Applies to KDEBASE=kdevelop only. 77 # Applies to KDEBASE=kdevelop only.
75 KDEVELOP_VERSION="${KDEVELOP_VERSION:-9999}" 78 KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.9999}"
76 # @ECLASS-VARIABLE: KDEVPLATFORM_VERSION 79 # @ECLASS-VARIABLE: KDEVPLATFORM_VERSION
77 # @DESCRIPTION: 80 # @DESCRIPTION:
78 # Specifies KDevplatform version. Default is 1.0.0 for tagged packages and 9999 for live packages. 81 # Specifies KDevplatform version. Default is 1.0.0 for tagged packages and 9999 for live packages.
79 # Applies to KDEBASE=kdevelop only. 82 # Applies to KDEBASE=kdevelop only.
80 KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-9999}" 83 KDEVPLATFORM_VERSION="${KDEVPLATFORM_VERSION:-4.9999}"
81 else 84 else
82 case ${PN} in 85 case ${PN} in
83 kdevelop|quanta) 86 kdevelop)
84 KDEVELOP_VERSION=${PV} 87 KDEVELOP_VERSION=${PV}
85 KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)" 88 KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)"
86 ;; 89 ;;
87 kdevplatform|kdevelop-php*) 90 kdevplatform|kdevelop-php*|kdevelop-python)
88 KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)" 91 KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)"
89 KDEVPLATFORM_VERSION=${PV} 92 KDEVPLATFORM_VERSION=${PV}
90 ;; 93 ;;
91 *) 94 *)
92 KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.0.0}" 95 KDEVELOP_VERSION="${KDEVELOP_VERSION:-4.0.0}"
104unset buildsystem_eclass 107unset buildsystem_eclass
105unset export_fns 108unset export_fns
106 109
107# @ECLASS-VARIABLE: DECLARATIVE_REQUIRED 110# @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
108# @DESCRIPTION: 111# @DESCRIPTION:
109# Is qt-declarative required? Possible values are 'always', 'optional' and 'never'. 112# Is qtdeclarative required? Possible values are 'always', 'optional' and 'never'.
110# This variable must be set before inheriting any eclasses. Defaults to 'never'. 113# This variable must be set before inheriting any eclasses. Defaults to 'never'.
111DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}" 114DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
112 115
113# @ECLASS-VARIABLE: QTHELP_REQUIRED 116# @ECLASS-VARIABLE: QTHELP_REQUIRED
114# @DESCRIPTION: 117# @DESCRIPTION:
115# Is qt-assistant required? Possible values are 'always', 'optional' and 'never'. 118# Is qthelp required? Possible values are 'always', 'optional' and 'never'.
116# This variable must be set before inheriting any eclasses. Defaults to 'never'. 119# This variable must be set before inheriting any eclasses. Defaults to 'never'.
117QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}" 120QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}"
118 121
119# @ECLASS-VARIABLE: OPENGL_REQUIRED 122# @ECLASS-VARIABLE: OPENGL_REQUIRED
120# @DESCRIPTION: 123# @DESCRIPTION:
121# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'. 124# Is qtopengl required? Possible values are 'always', 'optional' and 'never'.
122# This variable must be set before inheriting any eclasses. Defaults to 'never'. 125# This variable must be set before inheriting any eclasses. Defaults to 'never'.
123OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}" 126OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
124 127
125# @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED 128# @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED
126# @DESCRIPTION: 129# @DESCRIPTION:
127# Is qt-multimedia required? Possible values are 'always', 'optional' and 'never'. 130# Is qtmultimedia required? Possible values are 'always', 'optional' and 'never'.
128# This variable must be set before inheriting any eclasses. Defaults to 'never'. 131# This variable must be set before inheriting any eclasses. Defaults to 'never'.
129MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}" 132MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
130 133
131# @ECLASS-VARIABLE: CPPUNIT_REQUIRED 134# @ECLASS-VARIABLE: CPPUNIT_REQUIRED
132# @DESCRIPTION: 135# @DESCRIPTION:
170 if [[ ${KDE_BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then 173 if [[ ${KDE_BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
171 # Disable tests for live ebuilds by default 174 # Disable tests for live ebuilds by default
172 RESTRICT+=" test" 175 RESTRICT+=" test"
173 fi 176 fi
174 177
175 # Only add the kdeprefix USE flag for older versions, to help
176 # non-portage package managers handle the upgrade
177 if [[ ${PV} < 4.6.4 && ( ( ${KMNAME} != kdepim && ${PN} != kdepim-runtime ) || ${PV} < 4.6 ) ]]; then
178 IUSE+=" kdeprefix"
179 fi
180
181 # This code is to prevent portage from searching GENTOO_MIRRORS for 178 # This code is to prevent portage from searching GENTOO_MIRRORS for
182 # packages that will never be mirrored. (As they only will ever be in 179 # packages that will never be mirrored. (As they only will ever be in
183 # the overlay). 180 # the overlay).
184 case ${PV} in 181 case ${PV} in
185 *9999* | 4.?.[6-9]?) 182 *9999* | 4.?.[6-9]? | 4.??.[6-9]? | ??.?.[6-9]? | ??.??.[6-9]?)
186 RESTRICT+=" mirror" 183 RESTRICT+=" mirror"
187 ;; 184 ;;
188 esac 185 esac
189 ;; 186 ;;
190 kdevelop) 187 kdevelop)
194esac 191esac
195 192
196# @ECLASS-VARIABLE: QT_MINIMAL 193# @ECLASS-VARIABLE: QT_MINIMAL
197# @DESCRIPTION: 194# @DESCRIPTION:
198# Determine version of qt we enforce as minimal for the package. 195# Determine version of qt we enforce as minimal for the package.
199if version_is_at_least 4.8.50 "${KDE_MINIMAL}"; then
200 # Upstream has added an *undeclared* dependency on Qt 4.8...
201 QT_MINIMAL="${QT_MINIMAL:-4.8.0}" 196QT_MINIMAL="${QT_MINIMAL:-4.8.5}"
202else
203 QT_MINIMAL="${QT_MINIMAL:-4.7.4}"
204fi
205 197
206# Declarative dependencies 198# Declarative dependencies
207qtdeclarativedepend=" 199qtdeclarativedepend="
208 >=x11-libs/qt-declarative-${QT_MINIMAL}:4 200 >=dev-qt/qtdeclarative-${QT_MINIMAL}:4
209" 201"
210case ${DECLARATIVE_REQUIRED} in 202case ${DECLARATIVE_REQUIRED} in
211 always) 203 always)
212 COMMONDEPEND+=" ${qtdeclarativedepend}" 204 COMMONDEPEND+=" ${qtdeclarativedepend}"
213 ;; 205 ;;
219esac 211esac
220unset qtdeclarativedepend 212unset qtdeclarativedepend
221 213
222# QtHelp dependencies 214# QtHelp dependencies
223qthelpdepend=" 215qthelpdepend="
224 >=x11-libs/qt-assistant-${QT_MINIMAL}:4 216 >=dev-qt/qthelp-${QT_MINIMAL}:4
225" 217"
226case ${QTHELP_REQUIRED} in 218case ${QTHELP_REQUIRED} in
227 always) 219 always)
228 COMMONDEPEND+=" ${qthelpdepend}" 220 COMMONDEPEND+=" ${qthelpdepend}"
229 ;; 221 ;;
234esac 226esac
235unset qthelpdepend 227unset qthelpdepend
236 228
237# OpenGL dependencies 229# OpenGL dependencies
238qtopengldepend=" 230qtopengldepend="
239 >=x11-libs/qt-opengl-${QT_MINIMAL}:4 231 >=dev-qt/qtopengl-${QT_MINIMAL}:4
240" 232"
241case ${OPENGL_REQUIRED} in 233case ${OPENGL_REQUIRED} in
242 always) 234 always)
243 COMMONDEPEND+=" ${qtopengldepend}" 235 COMMONDEPEND+=" ${qtopengldepend}"
244 ;; 236 ;;
250esac 242esac
251unset qtopengldepend 243unset qtopengldepend
252 244
253# MultiMedia dependencies 245# MultiMedia dependencies
254qtmultimediadepend=" 246qtmultimediadepend="
255 >=x11-libs/qt-multimedia-${QT_MINIMAL}:4 247 >=dev-qt/qtmultimedia-${QT_MINIMAL}:4
256" 248"
257case ${MULTIMEDIA_REQUIRED} in 249case ${MULTIMEDIA_REQUIRED} in
258 always) 250 always)
259 COMMONDEPEND+=" ${qtmultimediadepend}" 251 COMMONDEPEND+=" ${qtmultimediadepend}"
260 ;; 252 ;;
284 276
285# KDE dependencies 277# KDE dependencies
286# Qt accessibility classes are needed in various places, bug 325461 278# Qt accessibility classes are needed in various places, bug 325461
287kdecommondepend=" 279kdecommondepend="
288 dev-lang/perl 280 dev-lang/perl
289 >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
290 >=x11-libs/qt-dbus-${QT_MINIMAL}:4
291 >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus]
292 >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility] 281 >=dev-qt/qt3support-${QT_MINIMAL}:4[accessibility]
282 >=dev-qt/qtcore-${QT_MINIMAL}:4[qt3support,ssl]
283 >=dev-qt/qtdbus-${QT_MINIMAL}:4
284 >=dev-qt/designer-${QT_MINIMAL}:4
285 >=dev-qt/qtgui-${QT_MINIMAL}:4[accessibility,dbus(+)]
293 >=x11-libs/qt-script-${QT_MINIMAL}:4 286 >=dev-qt/qtscript-${QT_MINIMAL}:4
294 >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support] 287 >=dev-qt/qtsql-${QT_MINIMAL}:4[qt3support]
295 >=x11-libs/qt-svg-${QT_MINIMAL}:4 288 >=dev-qt/qtsvg-${QT_MINIMAL}:4
296 >=x11-libs/qt-test-${QT_MINIMAL}:4 289 >=dev-qt/qttest-${QT_MINIMAL}:4
297 >=x11-libs/qt-webkit-${QT_MINIMAL}:4 290 >=dev-qt/qtwebkit-${QT_MINIMAL}:4
298 !aqua? (
299 x11-libs/libXext
300 x11-libs/libXt
301 x11-libs/libXxf86vm
302 x11-libs/libXcomposite
303 x11-libs/libxkbfile
304 )
305" 291"
306 292
307if [[ ${PN} != kdelibs ]]; then 293if [[ ${PN} != kdelibs ]]; then
308 kdecommondepend+=" $(add_kdebase_dep kdelibs)" 294 kdecommondepend+=" $(add_kdebase_dep kdelibs)"
309 if [[ ${KDEBASE} = kdevelop ]]; then 295 if [[ ${KDEBASE} = kdevelop ]]; then
314 # Applies to KDEBASE=kdevelop only. 300 # Applies to KDEBASE=kdevelop only.
315 KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}" 301 KDEVPLATFORM_REQUIRED="${KDEVPLATFORM_REQUIRED:-always}"
316 case ${KDEVPLATFORM_REQUIRED} in 302 case ${KDEVPLATFORM_REQUIRED} in
317 always) 303 always)
318 kdecommondepend+=" 304 kdecommondepend+="
319 >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION} 305 >=dev-util/kdevplatform-${KDEVPLATFORM_VERSION}:4
320 " 306 "
321 ;; 307 ;;
322 *) ;; 308 *) ;;
323 esac 309 esac
324 fi 310 fi
334 ) 320 )
335" 321"
336 322
337kderdepend="" 323kderdepend=""
338 324
325if [[ ${CATEGORY} == kde-apps ]]; then
326 kderdepend+=" !kde-base/${PN}"
327fi
328
339# all packages needs oxygen icons for basic iconset 329# all packages needs oxygen icons for basic iconset
340if [[ ${PN} != oxygen-icons ]]; then 330if [[ ${PN} != oxygen-icons ]]; then
341 kderdepend+=" $(add_kdebase_dep oxygen-icons)" 331 kderdepend+=" kde-apps/oxygen-icons"
342fi 332fi
343 333
344# add a dependency over kde-l10n if EAPI4 or better is around 334# add a dependency over kde-l10n
345if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} && ${EAPI:-0} != 3 ]]; then 335if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} ]]; then
346 for _lingua in ${KDE_LINGUAS}; do 336 for _lingua in ${KDE_LINGUAS}; do
347 # if our package has lignuas, pull in kde-l10n with selected lingua enabled, 337 # if our package has linguas, pull in kde-l10n with selected lingua enabled,
348 # but only for selected ones. 338 # but only for selected ones.
349 # this can't be done on one line because if user doesn't use any localisation 339 # this can't be done on one line because if user doesn't use any localisation
350 # then he is probably not interested in kde-l10n at all. 340 # then he is probably not interested in kde-l10n at all.
351 kderdepend+=" 341 kderdepend+="
352 linguas_${_lingua}? ( $(add_kdebase_dep kde-l10n "linguas_${_lingua}(+)") ) 342 linguas_${_lingua}? ( $(add_kdeapps_dep kde4-l10n "linguas_${_lingua}(+)") )
353 " 343 "
354 done 344 done
355 unset _lingua 345 unset _lingua
356fi 346fi
357 347
378 368
379case ${KDE_SELINUX_MODULE} in 369case ${KDE_SELINUX_MODULE} in
380 none) ;; 370 none) ;;
381 *) 371 *)
382 IUSE+=" selinux" 372 IUSE+=" selinux"
383 kdecommondepend+=" selinux? ( sec-policy/selinux-${KDE_SELINUX_MODULE} )" 373 kderdepend+=" selinux? ( sec-policy/selinux-${KDE_SELINUX_MODULE} )"
384 ;; 374 ;;
385esac 375esac
376
377# 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
381IUSE+=" aqua"
386 382
387case ${KDE_REQUIRED} in 383case ${KDE_REQUIRED} in
388 always) 384 always)
389 IUSE+=" aqua"
390 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}" 385 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}"
391 [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}" 386 [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}"
392 [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}" 387 [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}"
393 ;; 388 ;;
394 optional) 389 optional)
395 IUSE+=" aqua kde" 390 IUSE+=" kde"
396 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )" 391 [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
397 [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )" 392 [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )"
398 [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )" 393 [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )"
399 ;; 394 ;;
400 *) ;; 395 *) ;;
421 # we calculate URI only for known KDEBASE modules 416 # we calculate URI only for known KDEBASE modules
422 [[ -n ${KDEBASE} ]] || return 417 [[ -n ${KDEBASE} ]] || return
423 418
424 # calculate tarball module name 419 # calculate tarball module name
425 if [[ -n ${KMNAME} ]]; then 420 if [[ -n ${KMNAME} ]]; then
426 # fixup kdebase-apps name
427 case ${KMNAME} in
428 kdebase-apps)
429 _kmname="kdebase" ;;
430 *)
431 _kmname="${KMNAME}" ;; 421 _kmname="${KMNAME}"
432 esac
433 else 422 else
434 _kmname=${PN} 423 _kmname=${PN}
435 fi 424 fi
436 _kmname_pv="${_kmname}-${PV}" 425 _kmname_pv="${_kmname}-${PV}"
437 case ${KDEBASE} in 426 case ${KDEBASE} in
439 case ${PV} in 428 case ${PV} in
440 4.4.11.1) 429 4.4.11.1)
441 # KDEPIM 4.4, special case 430 # KDEPIM 4.4, special case
442 # TODO: Remove this part when KDEPIM 4.4 gets out of the tree 431 # TODO: Remove this part when KDEPIM 4.4 gets out of the tree
443 SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2" ;; 432 SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2" ;;
444 4.[89].8[05] | 4.[89].9[0235678]) 433 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 4.?.[6-9]? | 4.??.[6-9]?)
445 # Unstable KDE SC releases 438 # Unstable KDE SC releases
446 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.xz" ;; 439 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.xz" ;;
447 4.[1234567].[12345]) 440 4.11.14)
448 # Stable KDE SC with old .bz2 support 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 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 4.11.18)
447 # Part of 15.04.0 actually, sigh. Not stable for next release!
448 SRC_URI="mirror://kde/stable/applications/15.04.0/src/${_kmname_pv}.tar.xz" ;;
449 4.11.19)
450 # Part of 15.04.1 actually, sigh. Not stable for next release!
451 SRC_URI="mirror://kde/stable/applications/15.04.1/src/${_kmname_pv}.tar.xz" ;;
452 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 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 4.14.3)
459 # Last SC release
449 SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;; 460 SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.xz" ;;
461 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 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 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 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 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 ??.?.[6-9]? | ??.??.[4-9]?)
477 # Unstable KDE Applications releases
478 SRC_URI="mirror://kde/unstable/applications/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
450 *) 479 *)
451 # Stable KDE SC releases 480 # Stable KDE Applications releases
452 SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.xz" ;; 481 SRC_URI="mirror://kde/stable/applications/${PV}/src/${_kmname}-${PV}.tar.xz"
482 ;;
453 esac 483 esac
454 ;; 484 ;;
455 kdevelop|kdevelop-php*|kdevplatform) 485 kdevelop|kdevelop-php*|kdevplatform)
456 case ${KDEVELOP_VERSION} in 486 case ${KDEVELOP_VERSION} in
457 4.[12].[6-9]*) SRC_URI="mirror://kde/unstable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; 487 4.[123].[6-9]*) SRC_URI="mirror://kde/unstable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.xz" ;;
458 *) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; 488 *) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.xz" ;;
459 esac 489 esac
460 ;; 490 ;;
461 esac 491 esac
462} 492}
463 493
555 else 585 else
556 _kmname=${PN} 586 _kmname=${PN}
557 fi 587 fi
558 588
559 # default branching 589 # default branching
560 [[ ${PV} != 9999* && ${KDEBASE} == kde-base ]] && \ 590 [[ ${PV} != 4.9999* && ${PV} != 9999 && ${KDEBASE} == kde-base ]] && \
561 EGIT_BRANCH="KDE/$(get_kde_version)" 591 EGIT_BRANCH="KDE/$(get_kde_version)"
562 592
593 # Applications branching
594 [[ ${PV} == ??.??.49.9999 && ${KDEBASE} == kde-base ]] && \
595 EGIT_BRANCH="Applications/$(get_kde_version)"
596
563 # default repo uri 597 # default repo uri
564 EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}" 598 EGIT_REPO_URI+=( "${EGIT_MIRROR}/${_kmname}" )
565 599
566 debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}" 600 debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"
567 debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}" 601 debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}"
568 ;; 602 ;;
569 esac 603 esac
591 if has handbook ${IUSE} || has "+handbook" ${IUSE} && [ "${KDE_HANDBOOK}" != optional ] ; then 625 if has handbook ${IUSE} || has "+handbook" ${IUSE} && [ "${KDE_HANDBOOK}" != optional ] ; then
592 eqawarn "Handbook support is enabled via KDE_HANDBOOK=optional in the ebuild." 626 eqawarn "Handbook support is enabled via KDE_HANDBOOK=optional in the ebuild."
593 eqawarn "Please do not just set IUSE=handbook, as this leads to dependency errors." 627 eqawarn "Please do not just set IUSE=handbook, as this leads to dependency errors."
594 fi 628 fi
595 629
596 if use_if_iuse kdeprefix; then
597 eerror "Sorry, kdeprefix support has been removed."
598 eerror "Please remove kdeprefix from your USE variable."
599 die "kdeprefix support has been removed"
600 fi
601
602 if [[ ${CATEGORY}/${PN} != kde-base/kdelibs && ${CATEGORY}/${PN} != kde-base/kde-env ]] && \
603 { [[ ${KDE_REQUIRED} == always ]] || { [[ ${KDE_REQUIRED} == optional ]] && use kde; }; } && \
604 has_version kde-base/kdelibs[kdeprefix]; then
605 eerror "Sorry, kdeprefix support has been removed."
606 eerror "Please rebuild kdelibs without kdeprefix support."
607 die "kdeprefix support has been removed"
608 fi
609
610 # Don't set KDEHOME during compilation, it will cause access violations 630 # Don't set KDEHOME during compilation, it will cause access violations
611 unset KDEHOME 631 unset KDEHOME
612 632
613 # Check if gcc compiler is fresh enough. 633 # Check if gcc compiler is fresh enough.
614 # In theory should be in pkg_pretend but we check it only for kdelibs there 634 # In theory should be in pkg_pretend but we check it only for kdelibs there
615 # and for others we do just quick scan in pkg_setup because pkg_pretend 635 # and for others we do just quick scan in pkg_setup because pkg_pretend
616 # executions consume quite some time. 636 # executions consume quite some time (ie. when merging 300 packages at once will cause 300 checks)
617 # We can only do this for EAPI 4 or later because the MERGE_TYPE variable
618 # is otherwise undefined.
619 if [[ ${EAPI:-0} != 3 ]]; then
620 if [[ ${MERGE_TYPE} != binary ]]; then 637 if [[ ${MERGE_TYPE} != binary ]]; then
621 [[ $(gcc-major-version) -lt 4 ]] || \ 638 [[ $(gcc-major-version) -lt 4 ]] || \
622 ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ 639 ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 6 ]] ) \
623 && die "Sorry, but gcc-4.3 and earlier wont work for KDE (see bug 354837)." 640 && die "Sorry, but gcc-4.6 and earlier wont work for some KDE packages."
624 fi
625 fi 641 fi
626 642
627 KDEDIR=/usr 643 KDEDIR=/usr
628 : ${PREFIX:=/usr} 644 : ${PREFIX:=/usr}
629 EKDEDIR=${EPREFIX}/usr 645 EKDEDIR=${EPREFIX}/usr
642 debug-print-function ${FUNCNAME} "$@" 658 debug-print-function ${FUNCNAME} "$@"
643 659
644 if [[ ${KDE_BUILD_TYPE} = live ]]; then 660 if [[ ${KDE_BUILD_TYPE} = live ]]; then
645 case ${KDE_SCM} in 661 case ${KDE_SCM} in
646 svn) 662 svn)
647 migrate_store_dir
648 subversion_src_unpack 663 subversion_src_unpack
649 ;; 664 ;;
650 git) 665 git)
651 git-2_src_unpack 666 git-r3_src_unpack
652 ;; 667 ;;
653 esac 668 esac
654 else 669 else
655 unpack ${A} 670 unpack ${A}
656 fi 671 fi
699 case ${KDE_SCM} in 714 case ${KDE_SCM} in
700 svn) subversion_src_prepare ;; 715 svn) subversion_src_prepare ;;
701 esac 716 esac
702 fi 717 fi
703 718
704 # Apply patches 719 # Apply patches, cmake-utils does the job already
705 base_src_prepare 720 cmake-utils_src_prepare
706 721
707 # Save library dependencies 722 # Save library dependencies
708 if [[ -n ${KMSAVELIBS} ]] ; then 723 if [[ -n ${KMSAVELIBS} ]] ; then
709 save_library_dependencies 724 save_library_dependencies
710 fi 725 fi
795 kded4 2>&1 > /dev/null & 810 kded4 2>&1 > /dev/null &
796 kded4_pid=$! 811 kded4_pid=$!
797 fi 812 fi
798 813
799 cmake-utils_src_test 814 cmake-utils_src_test
800 } 815 }
801 816
802 # When run as normal user during ebuild development with the ebuild command, the 817 # When run as normal user during ebuild development with the ebuild command, the
803 # kde tests tend to access the session DBUS. This however is not possible in a real 818 # kde tests tend to access the session DBUS. This however is not possible in a real
804 # emerge or on the tinderbox. 819 # emerge or on the tinderbox.
805 # > make sure it does not happen, so bad tests can be recognized and disabled 820 # > make sure it does not happen, so bad tests can be recognized and disabled
856 done 871 done
857 fi 872 fi
858 873
859 cmake-utils_src_install 874 cmake-utils_src_install
860 875
861 # In EAPI 4+, we don't want ${PREFIX}/share/doc/HTML to be compressed, 876 # We don't want ${PREFIX}/share/doc/HTML to be compressed,
862 # because then khelpcenter can't find the docs 877 # because then khelpcenter can't find the docs
863 [[ ${EAPI:-0} != 3 && -d ${ED}/${PREFIX}/share/doc/HTML ]] && 878 [[ -d ${ED}/${PREFIX}/share/doc/HTML ]] &&
864 docompress -x ${PREFIX}/share/doc/HTML 879 docompress -x ${PREFIX}/share/doc/HTML
865} 880}
866 881
867# @FUNCTION: kde4-base_pkg_preinst 882# @FUNCTION: kde4-base_pkg_preinst
868# @DESCRIPTION: 883# @DESCRIPTION:
895 einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!" 910 einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
896 echo 911 echo
897 fi 912 fi
898 # for all 3rd party soft tell user that he SHOULD install kdebase-startkde or kdebase-runtime-meta 913 # for all 3rd party soft tell user that he SHOULD install kdebase-startkde or kdebase-runtime-meta
899 if [[ ${KDEBASE} != kde-base ]] && \ 914 if [[ ${KDEBASE} != kde-base ]] && \
900 ! has_version 'kde-base/kdebase-runtime-meta' && \ 915 ! has_version 'kde-apps/kdebase-runtime-meta' && \
901 ! has_version 'kde-base/kdebase-startkde'; then 916 ! has_version 'kde-base/kdebase-startkde'; then
902 if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then 917 if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
903 echo 918 echo
904 ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\"" 919 ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
905 ewarn "nor \"kde-base/kdebase-startkde\". You need one of above." 920 ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
919 gnome2_icon_cache_update 934 gnome2_icon_cache_update
920 fdo-mime_desktop_database_update 935 fdo-mime_desktop_database_update
921 fdo-mime_mime_database_update 936 fdo-mime_mime_database_update
922 buildsycoca 937 buildsycoca
923} 938}
939
940fi

Legend:
Removed from v.1.121  
changed lines
  Added in v.1.157

  ViewVC Help
Powered by ViewVC 1.1.20