# $Id$ sminclude kde4 # fake an empty src_install for split-packages kde-split_src_install() { :; } kde4-split_src_install_wrapper() { local KDEMODULE="$1" # fix modulename kdesdk4-kate -> kate [[ ${KDEMODULE/${SPLIT_PACKAGE_BASE}-/} != ${KDEMODULE} ]] && KDEMODULE="${KDEMODULE/${SPLIT_PACKAGE_BASE}-/}" cd ${BUILDDIR}/build # install the kde module mmake -C ${KDEMODULE} DESTDIR=${BINDIR} ${KDE4_MAKE_OPTS} install || die # install docs if [[ -d doc/${KDEMODULE} ]] then mmake -C doc/${KDEMODULE} DESTDIR=${BINDIR} ${KDE4_MAKE_OPTS} install || die fi # move dbus service dirs to a proper location if KDEDIR != /usr if [[ ${KDEDIR} != /usr ]] then if [[ -d ${BINDIR}/${KDEDIR}/share/dbus-1 ]] then echo -e "${COLYELLOW}Warning: using dbus hotfix, dbus locations should be fixed!${COLDEFAULT}" minstalldir /usr/share || die cp -R ${BINDIR}/${KDEDIR}/share/dbus-1 ${BINDIR}/usr/share/ || die rm -r ${BINDIR}/${KDEDIR}/share/dbus-1 || die fi fi cd ${SRCDIR} local i for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ FAQ LICENSE NEWS README TODO do if [ -f ${SRCDIR}/${i} ] then minstalldocs ${i} || die fi done } kde4-split_common_dependencies() { local subpackage local commondepend # common dependencies commondepend=">= x11-libs/qt-4.5 >= x11-libs/libXext-1.1-r1 >= x11-libs/libXt-1 >= x11-libs/libXinerama-1 >= x11-libs/libXxf86vm-1 == kde-base/kdelibs4-${PVER} == kde-base/kdelibs4-experimental-${PVER}" case ${PNAME/-${subpackage}} in kdegraphics) commondepend+=" == kde-base/kdebase4-runtime-${PVER} >= kde-base/qimageblitz-0.0.4" ;; kdepim) commondepend+=" == kde-base/kdebase4-runtime-${PVER}" ;; kdepim-runtime) commondepend+=" == kde-base/kdebase4-runtime-${PVER} >= dev-libs/boost-1.40 == kde-base/kdepimlibs4-${PVER}" ;; # case ${PN} in # akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker) # IUSE+=" +kontact" # if ! slot_is_at_least 4.4 ${SLOT} || [[ ${SLOT} == 4.4 && ${PV} < 4.3.68 ]]; then # RDEPEND+=" kontact? ( $(add_kdebase_dep kontactinterfaces) )" # fi # ;; # esac # ;; # # kdegames) # if [[ ${PN} != libkdegames ]]; then # COMMONDEPEND+=" $(add_kdebase_dep libkdegames)" # fi # ;; esac } kde4-split_generate_split_info() { local subpackage # get all subpackages with the specifies pcategorie for subpackage in ${SPLIT_PACKAGES} do # exclude meta packages [[ ${subpackage} = ${PNAME}-meta ]] && continue eval "kde4-split_split_info_${subpackage}() { DESCRIPTION=\"'${subpackage/${PNAME}-/}' from ${PNAME}.\" DEPEND=\"== kde-base/kdelibs4-${PVER} == kde-base/kdelibs4-experimantal-${PVER} == kde-base/kdepimlibs4-${PVER} == kde-base/kdebase4-runtime-${PVER}\" }" export_inherits kde4-split split_info_${subpackage} done } kde4-split_generate_meta_package() { local subpackage local export_depends # get all subpackages with the specifies pcategorie for subpackage in ${SPLIT_PACKAGES} do # we assume the pcategorie is always kde-base! export_depends="${export_depends} >= ${PCATEGORIE}/${subpackage}-${PVER}" done eval "split_info_${PNAME}-meta() { DESCRIPTION=\"Meta package for ${PNAME}.\" DEPEND=\"${export_depends}\" PKGTYPE=\"virtual\" NOPKGBUILD=\"true\" # drop everything we don't need in the meta package: INHERITS="" SPECIAL_VARS="" SPECIAL_FUNCTIONS="" SDEPEND="" PROVIDE="" unset -f preinstall unset -f postinstall unset -f preremove unset -f postremove }" export SPLIT_PACKAGES+=" ${PNAME}-meta" } kde4-split_generate_src_install() { local subpackage # run kde4-split_src_install for all SPLIT_PACKAGES for subpackage in ${SPLIT_PACKAGES} do # exclude meta packages [[ ${subpackage} = ${PNAME}-meta ]] && continue # create function kde-split_src_install-${subpackage} eval "kde4-split_src_install_${subpackage}(){ kde4-split_src_install_wrapper ${subpackage} || die; }" # export kde-split_src_install_${subpackage} as src_install_${subpackage} export_inherits kde4-split src_install_${subpackage} done } # generate generic split_infos kde4-split_generate_split_info # generate a meta package # run this after kde-split_generate_split_info # as we add the virtual meta package kde4-split_generate_meta_package # run kde4-split_src_install for all SPLIT_PACKAGES kde4-split_generate_src_install # export empty src_install export_inherits kde4-split src_install