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

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.42 - (show annotations) (download)
Mon Aug 3 21:59:53 2009 UTC (4 years, 8 months ago) by wired
Branch: MAIN
Changes since 1.41: +76 -86 lines
synced kde4 eclasses with new ones from kde-testing overlay

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

  ViewVC Help
Powered by ViewVC 1.1.20