/[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.86 Revision 1.87
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.86 2011/04/06 08:53:48 dilfridge Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.87 2011/04/06 14:22:14 scarabeus 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 by default define EAPI="2", this can be redefined but 13# NOTE: KDE 4 ebuilds currently support EAPI "3". This will be reviewed
14# eclass will fail with version older than 2. 14# over time as new EAPI versions are approved.
15 15
16# @ECLASS-VARIABLE: VIRTUALX_REQUIRED 16# @ECLASS-VARIABLE: VIRTUALX_REQUIRED
17# @DESCRIPTION: 17# @DESCRIPTION:
18# For proper description see virtualx.eclass manpage. 18# For proper description see virtualx.eclass manpage.
19# Here we redefine default value to be manual, if your package needs virtualx 19# Here we redefine default value to be manual, if your package needs virtualx
20# for tests you should proceed with setting VIRTUALX_REQUIRED=test. 20# for tests you should proceed with setting VIRTUALX_REQUIRED=test.
21: ${VIRTUALX_REQUIRED:=manual} 21: ${VIRTUALX_REQUIRED:=manual}
22 22
23inherit kde4-functions base virtualx eutils 23inherit kde4-functions fdo-mime gnome2-utils base virtualx versionator eutils
24 24
25get_build_type
26if [[ ${BUILD_TYPE} = live ]]; then 25if [[ ${BUILD_TYPE} = live ]]; then
27 if [[ ${KDEBASE} = kdevelop ]]; then 26 case ${KDE_SCM} in
28 inherit git
29 else
30 inherit subversion 27 svn) inherit subversion ;;
31 fi 28 git) inherit git ;;
29 esac
32fi 30fi
33 31
34# @ECLASS-VARIABLE: CMAKE_REQUIRED 32# @ECLASS-VARIABLE: CMAKE_REQUIRED
35# @DESCRIPTION: 33# @DESCRIPTION:
36# Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'. 34# Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'.
61# One may override this variable to raise version requirements. 59# One may override this variable to raise version requirements.
62# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables. 60# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
63# Note that it is fixed to ${SLOT} for kde-base packages. 61# Note that it is fixed to ${SLOT} for kde-base packages.
64KDE_MINIMAL="${KDE_MINIMAL:-4.4}" 62KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
65 63
66# Set slot for packages in kde-base, koffice and kdevelop 64# Set slot for KDEBASE known packages
67case ${KDEBASE} in 65case ${KDEBASE} in
68 kde-base) 66 kde-base)
69 # Determine SLOT from PVs 67 SLOT=$(_calculate_kde_slot)
70 case ${PV} in 68 [[ -z ${SLOT} ]] && die "Unsupported ${PV}"
71 *.9999*) SLOT="${PV/.9999*/}" ;; # stable live
72 4.6* | 4.5.[6-9][0-9]*) SLOT="4.6" ;;
73 4.5* | 4.4.[6-9][0-9]*) SLOT="4.5" ;;
74 4.4* | 4.3.[6-9][0-9]*) SLOT="4.4" ;;
75 9999*) SLOT="live" ;; # regular live
76 *) die "Unsupported ${PV}" ;;
77 esac
78 KDE_MINIMAL="${SLOT}" 69 KDE_MINIMAL="${SLOT}"
79 ;; 70 ;;
80 koffice) 71 koffice)
81 SLOT="2" 72 SLOT="2"
82 ;; 73 ;;
109 fi 100 fi
110 SLOT="4" 101 SLOT="4"
111 ;; 102 ;;
112esac 103esac
113 104
114slot_is_at_least 4.5 ${KDE_MINIMAL} && CMAKE_MIN_VERSION="2.8.1"
115
116inherit ${buildsystem_eclass} 105inherit ${buildsystem_eclass}
117 106
118EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_postinst pkg_postrm 107EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_preinst pkg_postinst pkg_postrm
119 108
120unset buildsystem_eclass 109unset buildsystem_eclass
121unset export_fns 110unset export_fns
122 111
123# @ECLASS-VARIABLE: DECLARATIVE_REQUIRED 112# @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
170# (handbook USE flag) and 'never'. 159# (handbook USE flag) and 'never'.
171# This variable must be set before inheriting any eclasses. Defaults to 'never'. 160# This variable must be set before inheriting any eclasses. Defaults to 'never'.
172# It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it 161# It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it
173# ensures buildtime and runtime dependencies. 162# ensures buildtime and runtime dependencies.
174KDE_HANDBOOK="${KDE_HANDBOOK:-never}" 163KDE_HANDBOOK="${KDE_HANDBOOK:-never}"
164
165# @ECLASS-VARIABLE: KDE_LINGUAS_LIVE_OVERRIDE
166# @DESCRIPTION:
167# Set this varible if you want your live package to manage its
168# translations. (Mostly all kde ebuilds does not ship documentation
169# and translations in live ebuilds)
170if [[ ${BUILD_TYPE} == live && -z ${KDE_LINGUAS_LIVE_OVERRIDE} && ${KDEBASE} != "kde-base" ]]; then
171 KDE_HANDBOOK=never
172 KDE_LINGUAS=""
173fi
175 174
176# Setup packages inheriting this eclass 175# Setup packages inheriting this eclass
177case ${KDEBASE} in 176case ${KDEBASE} in
178 kde-base) 177 kde-base)
179 HOMEPAGE="http://www.kde.org/" 178 HOMEPAGE="http://www.kde.org/"
208 ;; 207 ;;
209esac 208esac
210 209
211# @ECLASS-VARIABLE: QT_MINIMAL 210# @ECLASS-VARIABLE: QT_MINIMAL
212# @DESCRIPTION: 211# @DESCRIPTION:
213# Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1... 212# Determine version of qt we enforce as minimal for the package.
214# 4.6.0 for 4.4, 4.6.3 for 4.5, and 4.7.0 for 4.6 and later
215if slot_is_at_least 4.6 "${KDE_MINIMAL}"; then 213if slot_is_at_least 4.6 "${KDE_MINIMAL}"; then
216 QT_MINIMAL="${QT_MINIMAL:-4.7.0}" 214 QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
217elif slot_is_at_least 4.5 "${KDE_MINIMAL}"; then 215else
218 QT_MINIMAL="${QT_MINIMAL:-4.6.3}" 216 QT_MINIMAL="${QT_MINIMAL:-4.6.3}"
219else
220 QT_MINIMAL="${QT_MINIMAL:-4.6.0}"
221fi 217fi
222 218
223# Declarative dependencies 219# Declarative dependencies
224qtdeclarativedepend=" 220qtdeclarativedepend="
225 >=x11-libs/qt-declarative-${QT_MINIMAL}:4 221 >=x11-libs/qt-declarative-${QT_MINIMAL}:4
361 *) ;; 357 *) ;;
362 esac 358 esac
363 fi 359 fi
364 fi 360 fi
365fi 361fi
362
366kdedepend=" 363kdedepend="
367 dev-util/automoc 364 dev-util/automoc
368 dev-util/pkgconfig 365 dev-util/pkgconfig
369 !aqua? ( 366 !aqua? (
370 >=x11-libs/libXtst-1.1.0 367 >=x11-libs/libXtst-1.1.0
371 x11-proto/xf86vidmodeproto 368 x11-proto/xf86vidmodeproto
372 ) 369 )
373" 370"
371
374kderdepend="" 372kderdepend=""
375 373
374# all packages needs oxygen icons for basic iconset
376if [[ ${PN} != oxygen-icons ]]; then 375if [[ ${PN} != oxygen-icons ]]; then
377 kderdepend+=" $(add_kdebase_dep oxygen-icons)" 376 kderdepend+=" $(add_kdebase_dep oxygen-icons)"
377fi
378
379# add a dependency over kde-l10n if EAPI4 is around
380if [[ ${KDEBASE} != "kde-base" ]] && [[ -n ${KDE_LINGUAS} ]] && has "${EAPI:-0}" 4; then
381 usedep=''
382 for _lingua in ${KDE_LINGUAS}; do
383 [[ -n ${usedep} ]] && usedep+=","
384 usedep+="linguas_${_lingua}(+)?"
385 done
386 # if our package has lignuas pull in kde-l10n with selected lingua
387 kderdepend+=" $(add_kdebase_dep kde-l10n ${usedep})"
388 unset usedep _lingua
378fi 389fi
379 390
380kdehandbookdepend=" 391kdehandbookdepend="
381 app-text/docbook-xml-dtd:4.2 392 app-text/docbook-xml-dtd:4.2
382 app-text/docbook-xsl-stylesheets 393 app-text/docbook-xsl-stylesheets
423# Accumulate dependencies set by this eclass 434# Accumulate dependencies set by this eclass
424DEPEND+=" ${COMMONDEPEND}" 435DEPEND+=" ${COMMONDEPEND}"
425RDEPEND+=" ${COMMONDEPEND}" 436RDEPEND+=" ${COMMONDEPEND}"
426unset COMMONDEPEND 437unset COMMONDEPEND
427 438
428# Add experimental kdeenablefinal, disabled by default 439# Add experimental kdeenablefinal, masked by default
429IUSE+=" kdeenablefinal" 440IUSE+=" kdeenablefinal"
430 441
431# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a 442# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
432# koffice ebuild, the URI should be set in the ebuild itself 443# koffice ebuild, the URI should be set in the ebuild itself
433case ${BUILD_TYPE} in 444_calculate_src_uri() {
434 live) 445 debug-print-function ${FUNCNAME} "$@"
446
447 local _kmname _kmname_pv
448
449 # we calculate URI only for known KDEBASE modules
450 [[ -n ${KDEBASE} ]] || return
451
452 # calculate tarball module name
453 if [[ -n ${KMNAME} ]]; then
454 # fixup kdebase-apps name
455 case ${KMNAME} in
456 kdebase-apps)
457 _kmname="kdebase" ;;
458 *)
459 _kmname="${KMNAME}" ;;
460 esac
461 else
462 _kmname=${PN}
463 fi
464 _kmname_pv="${_kmname}-${PV}"
465 case ${KDEBASE} in
466 kde-base)
467 case ${PV} in
468 4.[456].8[05] | 4.[456].9[023568] | 4.5.94.1)
469 # Unstable KDE SC releases
470 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
471 # KDEPIM IS SPECIAL
472 [[ ${KMNAME} == "kdepim" || ${KMNAME} == "kdepim-runtime" ]] && SRC_URI="mirror://kde/unstable/kdepim/${PV}/src/${_kmname_pv}.tar.bz2"
473 ;;
474 4.4.[6789] | 4.4.1?)
475 # Stable kdepim releases
476 SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
477 ;;
478 *)
479 # Stable KDE SC releases
480 SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
481 ;;
482 esac
483 ;;
484 koffice)
485 case ${PV} in
486 2.[1234].[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
487 *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
488 esac
489 ;;
490 kdevelop)
491 SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
492 ;;
493 esac
494}
495
496_calculate_live_repo() {
497 debug-print-function ${FUNCNAME} "$@"
498
435 SRC_URI="" 499 SRC_URI=""
436 if has subversion ${INHERITED}; then 500 case ${KDE_SCM} in
501 svn)
437 # Determine branch URL based on live type 502 # Determine branch URL based on live type
438 local branch_prefix 503 local branch_prefix
439 case ${PV} in 504 case ${PV} in
440 9999*) 505 9999*)
441 # trunk 506 # trunk
502 # @DESCRIPTION: 567 # @DESCRIPTION:
503 # This variable is used for specifying the timeout between svn synces 568 # This variable is used for specifying the timeout between svn synces
504 # for kde-base and koffice modules. Does not affect misc apps. 569 # for kde-base and koffice modules. Does not affect misc apps.
505 # Default value is 1 hour. 570 # Default value is 1 hour.
506 [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1} 571 [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
507 elif has git ${INHERITED}; then
508 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
509 KMMODULE="${PN}"
510 fi
511 case ${KDEBASE} in
512 kdevelop)
513 EGIT_REPO_URI="git://git.kde.org/${KMMODULE}"
514 ;;
515 esac
516 fi
517 ;; 572 ;;
518 *) 573 git)
574 local _kmname
575 # @ECLASS-VARIABLE: EGIT_MIRROR
576 # @DESCRIPTION:
577 # This variable allows easy overriding of default kde mirror service
578 # (anongit) with anything else you might want to use.
579 EGIT_MIRROR=${EGIT_MIRROR:=git://anongit.kde.org}
580
581 # @ECLASS-VARIABLE: EGIT_REPONAME
582 # @DESCRIPTION:
583 # This variable allows overriding of default repository
584 # name. Specify only if this differ from PN and KMNAME.
519 if [[ -n ${KDEBASE} ]]; then 585 if [[ -n ${EGIT_REPONAME} ]]; then
586 # the repository and kmname different
587 _kmname=${EGIT_REPONAME}
520 if [[ -n ${KMNAME} ]]; then 588 elif [[ -n ${KMNAME} ]]; then
521 case ${KMNAME} in
522 kdebase-apps)
523 _kmname="kdebase" ;;
524 *)
525 _kmname="${KMNAME}" ;; 589 _kmname=${KMNAME}
526 esac
527 else 590 else
528 _kmname=${PN} 591 _kmname=${PN}
529 fi 592 fi
530 _kmname_pv="${_kmname}-${PV}" 593
594 # default branching
531 case ${KDEBASE} in 595 case ${PV} in
532 kde-base) 596 9999*) ;;
597 *)
598 # set EGIT_BRANCH and EGIT_COMMIT to ${SLOT}
599 case ${_kmname} in
600 kdeplasma-addons | kdepim | kdepim-runtime | kdepimlibs)
601 EGIT_BRANCH="${SLOT}"
602 ;;
603 *) EGIT_BRANCH="KDE/${SLOT}" ;;
604 esac
605 ;;
606 esac
607
608 case $_kmname in
609 kdepim|kdepim-runtime)
533 case ${PV} in 610 case ${PV} in
611 # kdepim still did not branch
534 4.5.93) 612 4.6.9999)
535 # Only kdepim and kdepim-runtime 4.6beta here 613 EGIT_BRANCH="master"
536 SRC_URI="mirror://kde/unstable/kdepim/${PV}/${_kmname}-4.6beta3.tar.bz2"
537 ;;
538 4.[456].8[05] | 4.[456].9[023568])
539 # Unstable KDE SC releases
540 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
541 ;;
542 4.4.6 | 4.4.7 | 4.4.8 | 4.4.9 | 4.4.10)
543 # Only kdepim here
544 SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
545 ;;
546 *)
547 # Stable KDE SC releases
548 SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
549 ;; 614 ;;
550 esac 615 esac
551 ;; 616 ;;
552 koffice)
553 case ${PV} in
554 2.1.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
555 *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
556 esac
557 ;;
558 kdevelop)
559 SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
560 ;;
561 esac 617 esac
562 unset _kmname _kmname_pv 618 EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
563 fi 619 EGIT_PROJECT="${_kmname}"
620
621 debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"
622 debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}"
564 ;; 623 ;;
624 esac
625}
626
627case ${BUILD_TYPE} in
628 live) _calculate_live_repo ;;
629 *) _calculate_src_uri ;;
565esac 630esac
566 631
567debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}" 632debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
568 633
569# @ECLASS-VARIABLE: PREFIX 634# @ECLASS-VARIABLE: PREFIX
576# @DESCRIPTION: 641# @DESCRIPTION:
577# Do the basic kdeprefix KDEDIR settings and determine with which kde should 642# Do the basic kdeprefix KDEDIR settings and determine with which kde should
578# optional applications link 643# optional applications link
579kde4-base_pkg_setup() { 644kde4-base_pkg_setup() {
580 debug-print-function ${FUNCNAME} "$@" 645 debug-print-function ${FUNCNAME} "$@"
581
582 # Prefix compat:
583 if [[ ${EAPI} == 2 ]] && ! use prefix; then
584 EPREFIX=
585 EROOT=${ROOT}
586 fi
587
588 # Append missing trailing slash character
589 [[ ${EROOT} = */ ]] || EROOT+="/"
590 646
591 # QA ebuilds 647 # QA ebuilds
592 [[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})." 648 [[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})."
593 649
594 # Don't set KDEHOME during compilation, it will cause access violations 650 # Don't set KDEHOME during compilation, it will cause access violations
643# This function unpacks the source tarballs for KDE4 applications. 699# This function unpacks the source tarballs for KDE4 applications.
644kde4-base_src_unpack() { 700kde4-base_src_unpack() {
645 debug-print-function ${FUNCNAME} "$@" 701 debug-print-function ${FUNCNAME} "$@"
646 702
647 if [[ ${BUILD_TYPE} = live ]]; then 703 if [[ ${BUILD_TYPE} = live ]]; then
648 if has subversion ${INHERITED}; then 704 case ${KDE_SCM} in
705 svn)
649 migrate_store_dir 706 migrate_store_dir
650 subversion_src_unpack 707 subversion_src_unpack
651 elif has git ${INHERITED}; then 708 ;;
709 git)
652 git_src_unpack 710 git_src_unpack
653 fi
654 elif [[ ${EAPI} == 2 ]]; then
655 local file
656 for file in ${A}; do
657 # This setup is because EAPI <= 2 cannot unpack *.tar.xz files
658 # directly, so we do it ourselves (using the exact same code as portage)
659 case ${file} in
660 *.tar.xz)
661 echo ">>> Unpacking ${file} to ${PWD}"
662 xz -dc "${DISTDIR}"/${file} | tar xof -
663 assert "failed unpacking ${file}"
664 ;; 711 ;;
665 *)
666 unpack ${file}
667 ;;
668 esac 712 esac
669 done
670 else 713 else
671 # For EAPI >= 3, we can just use unpack() directly
672 unpack ${A} 714 unpack ${A}
673 fi 715 fi
674} 716}
675 717
676# @FUNCTION: kde4-base_src_prepare 718# @FUNCTION: kde4-base_src_prepare
680# enable_selected_linguas() and enable_selected_doc_linguas() 722# enable_selected_linguas() and enable_selected_doc_linguas()
681# in kde4-functions.eclass(5) for further details. 723# in kde4-functions.eclass(5) for further details.
682kde4-base_src_prepare() { 724kde4-base_src_prepare() {
683 debug-print-function ${FUNCNAME} "$@" 725 debug-print-function ${FUNCNAME} "$@"
684 726
727 # enable handbook and linguas only when not using live ebuild
728
685 # Only enable selected languages, used for KDE extragear apps. 729 # Only enable selected languages, used for KDE extragear apps.
686 if [[ -n ${KDE_LINGUAS} ]]; then 730 if [[ -n ${KDE_LINGUAS} ]]; then
687 enable_selected_linguas 731 enable_selected_linguas
688 fi 732 fi
689 733
690 # Enable/disable handbooks for kde4-base packages 734 # Enable/disable handbooks for kde4-base packages
691 # kde-l10n inherits kde4-base but is metpackage, so no check for doc 735 # kde-l10n inherits kde4-base but is metpackage, so no check for doc
692 # kdelibs inherits kde4-base but handle installing the handbook itself 736 # kdelibs inherits kde4-base but handle installing the handbook itself
693 if ! has kde4-meta ${INHERITED}; then 737 if ! has kde4-meta ${INHERITED} && has handbook ${IUSE//+}; then
694 has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdepim-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas 738 if [[ ${KDEBASE} == kde-base ]]; then
739 if [[ ${PN} != kde-l10n && ${PN} != kdepim-l10n && ${PN} != kdelibs ]] && use !handbook; then
740 # documentation in kde4-functions
741 : ${KDE_DOC_DIRS:=doc}
742 local dir
743 for dir in ${KDE_DOC_DIRS}; do
744 sed -e "/^[[:space:]]*add_subdirectory[[:space:]]*([[:space:]]*${dir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \
745 -e "/^[[:space:]]*ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${dir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \
746 -e "/^[[:space:]]*macro_optional_add_subdirectory[[:space:]]*([[:space:]]*${dir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \
747 -e "/^[[:space:]]*MACRO_OPTIONAL_ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${dir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \
748 -i CMakeLists.txt || die "failed to comment out handbook"
749 done
750 fi
751 else
752 enable_selected_doc_linguas
753 fi
695 fi 754 fi
696 755
697 # SCM bootstrap 756 # SCM bootstrap
698 if [[ ${BUILD_TYPE} = live ]]; then 757 if [[ ${BUILD_TYPE} = live ]]; then
699 if has subversion ${INHERITED}; then 758 case ${KDE_SCM} in
700 subversion_src_prepare 759 svn) subversion_src_prepare ;;
701 elif has git ${INHERITED}; then 760 esac
702 git_src_prepare
703 fi
704 fi 761 fi
705 762
706 # Apply patches 763 # Apply patches
707 base_src_prepare 764 base_src_prepare
708 765
840 # > make sure it does not happen, so bad tests can be recognized and disabled 897 # > make sure it does not happen, so bad tests can be recognized and disabled
841 unset DBUS_SESSION_BUS_ADDRESS 898 unset DBUS_SESSION_BUS_ADDRESS
842 899
843 if [[ ${VIRTUALX_REQUIRED} == always || ${VIRTUALX_REQUIRED} == test ]]; then 900 if [[ ${VIRTUALX_REQUIRED} == always || ${VIRTUALX_REQUIRED} == test ]]; then
844 # check for sanity if anyone already redefined VIRTUALX_COMMAND from the default 901 # check for sanity if anyone already redefined VIRTUALX_COMMAND from the default
845 if [[ ${VIRTUALX_COMMAND} != "emake" ]]; then 902 if [[ ${VIRTUALX_COMMAND} != emake ]]; then
846 # surprise- we are already INSIDE virtualmake!!! 903 # surprise- we are already INSIDE virtualmake!!!
847 debug-print "QA Notice: This version of kde4-base.eclass includes the virtualx functionality." 904 debug-print "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
848 debug-print " You may NOT set VIRTUALX_COMMAND or call virtualmake from the ebuild." 905 debug-print " You may NOT set VIRTUALX_COMMAND or call virtualmake from the ebuild."
849 debug-print " Setting VIRTUALX_REQUIRED is completely sufficient. See the" 906 debug-print " Setting VIRTUALX_REQUIRED is completely sufficient. See the"
850 debug-print " kde4-base.eclass docs for details... Applying workaround." 907 debug-print " kde4-base.eclass docs for details... Applying workaround."
861# @DESCRIPTION: 918# @DESCRIPTION:
862# Function for installing KDE4 applications. 919# Function for installing KDE4 applications.
863kde4-base_src_install() { 920kde4-base_src_install() {
864 debug-print-function ${FUNCNAME} "$@" 921 debug-print-function ${FUNCNAME} "$@"
865 922
866 # Prefix support, for usage in ebuilds
867 if [[ ${EAPI} == 2 ]] && ! use prefix; then
868 ED=${D}
869 fi
870
871 if [[ -n ${KMSAVELIBS} ]] ; then 923 if [[ -n ${KMSAVELIBS} ]] ; then
872 install_library_dependencies 924 install_library_dependencies
873 fi 925 fi
874 926
875 # Install common documentation of KDE4 applications 927 # Install common documentation of KDE4 applications
876 local doc 928 local doc
877 if ! has kde4-meta ${INHERITED}; then 929 if ! has kde4-meta ${INHERITED}; then
878 for doc in "${S}"/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do 930 for doc in "${S}"/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
879 [[ -f "${doc}" ]] && [[ -s "${doc}" ]] && dodoc "${doc}" 931 [[ -f ${doc} && -s ${doc} ]] && dodoc "${doc}"
880 done 932 done
881 for doc in "${S}"/*/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do 933 for doc in "${S}"/*/{AUTHORS,CHANGELOG,ChangeLog*,README*,NEWS,TODO,HACKING}; do
882 [[ -f "${doc}" ]] && [[ -s "${doc}" ]] && newdoc "${doc}" "$(basename $(dirname ${doc})).$(basename ${doc})" 934 [[ -f ${doc} && -s ${doc} ]] && newdoc "${doc}" "$(basename $(dirname ${doc})).$(basename ${doc})"
883 done 935 done
884 fi 936 fi
885 937
886 cmake-utils_src_install 938 cmake-utils_src_install
939}
940
941# @FUNCTION: kde4-base_pkg_preinst
942# @DESCRIPTION:
943# Function storing icon caches
944kde4-base_pkg_preinst() {
945 debug-print-function ${FUNCNAME} "$@"
946
947 gnome2_icon_savelist
887} 948}
888 949
889# @FUNCTION: kde4-base_pkg_postinst 950# @FUNCTION: kde4-base_pkg_postinst
890# @DESCRIPTION: 951# @DESCRIPTION:
891# Function to rebuild the KDE System Configuration Cache after an application has been installed. 952# Function to rebuild the KDE System Configuration Cache after an application has been installed.
892kde4-base_pkg_postinst() { 953kde4-base_pkg_postinst() {
893 debug-print-function ${FUNCNAME} "$@" 954 debug-print-function ${FUNCNAME} "$@"
894 955
956 gnome2_icon_cache_update
957 fdo-mime_desktop_database_update
958 fdo-mime_mime_database_update
895 buildsycoca 959 buildsycoca
896 960
897 if [[ ${BUILD_TYPE} = live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then 961 if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
898 echo 962 if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
899 einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
900 einfo "Use it at your own risk."
901 einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
902 echo
903 elif [[ ${BUILD_TYPE} != live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && has kdeprefix ${IUSE//+} && use kdeprefix; then
904 # warning about kdeprefix for non-live users
905 echo
906 ewarn "WARNING! You have the kdeprefix useflag enabled."
907 ewarn "This setting is strongly discouraged and might lead to potential trouble"
908 ewarn "with KDE update strategies."
909 ewarn "You are using this setup at your own risk and the kde team does not"
910 ewarn "take responsibilities for dead kittens."
911 echo
912 fi
913 if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! has_version 'kde-base/kdebase-runtime-meta' && ! has_version 'kde-base/kdebase-startkde'; then
914 # warn about not supported approach
915 if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
916 echo 963 echo
964 ewarn "WARNING! you have kdeenable final useflag enabled."
965 ewarn "This useflag needs to be enabled on ALL kde using packages and"
966 ewarn "is known to cause issues."
967 ewarn "You are using this setup at your own risk and the kde team does not"
968 ewarn "take responsibilities for dead kittens."
969 echo
970 fi
971 if [[ ${BUILD_TYPE} = live ]]; then
972 echo
973 einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
974 einfo "Use it at your own risk."
975 einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
976 echo
977 elif [[ ${BUILD_TYPE} != live ]] && has kdeprefix ${IUSE//+} && use kdeprefix; then
978 # warning about kdeprefix for non-live users
979 echo
980 ewarn "WARNING! You have the kdeprefix useflag enabled."
981 ewarn "This setting is strongly discouraged and might lead to potential trouble"
982 ewarn "with KDE update strategies."
983 ewarn "You are using this setup at your own risk and the kde team does not"
984 ewarn "take responsibilities for dead kittens."
985 echo
986 fi
987 # for all 3rd party soft tell user that he SHOULD install kdebase-startkde or kdebase-runtime-meta
988 if [[ ${KDEBASE} != kde-base ]] && \
989 ! has_version 'kde-base/kdebase-runtime-meta' && \
990 ! has_version 'kde-base/kdebase-startkde'; then
991 if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
992 echo
917 ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\"" 993 ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
918 ewarn "nor \"kde-base/kdebase-startkde\". You need one of above." 994 ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
919 ewarn "With this setting you are unsupported by KDE team." 995 ewarn "With this setting you are unsupported by KDE team."
920 ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID." 996 ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID."
997 fi
921 fi 998 fi
922 fi 999 fi
923} 1000}
924 1001
925# @FUNCTION: kde4-base_pkg_postrm 1002# @FUNCTION: kde4-base_pkg_postrm
926# @DESCRIPTION: 1003# @DESCRIPTION:
927# Function to rebuild the KDE System Configuration Cache after an application has been removed. 1004# Function to rebuild the KDE System Configuration Cache after an application has been removed.
928kde4-base_pkg_postrm() { 1005kde4-base_pkg_postrm() {
929 debug-print-function ${FUNCNAME} "$@" 1006 debug-print-function ${FUNCNAME} "$@"
930 1007
1008 gnome2_icon_cache_update
1009 fdo-mime_desktop_database_update
1010 fdo-mime_mime_database_update
931 buildsycoca 1011 buildsycoca
932} 1012}

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.87

  ViewVC Help
Powered by ViewVC 1.1.20