# $Id$ sminclude kde4 # generate a meta package # 1=yes, 0=no : ${KDE4_GENERATE_META_PACKAGE=1} # 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 # or if KDECONFDIR != /etc if [[ ${KDECONFDIR} != /etc ]] then if [[ -d ${BINDIR}/${KDECONFDIR}/dbus-1 ]] then echo -e "${COLYELLOW}Warning: using dbus hotfix, dbus locations should be fixed!${COLDEFAULT}" minstalldir /etc || die cp -R ${BINDIR}/${KDECONFDIR}/dbus-1 ${BINDIR}/etc/ || die rm -r ${BINDIR}/${KDECONFDIR}/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_generate_split_info() { local subpackage # get all subpackages with the specified pcat 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/kdelibs-${PVER} == kde-base/kdepimlibs-${PVER} == kde-base/kdebase-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 specified pcat for subpackage in ${SPLIT_PACKAGES} do # we assume the pcat is always kde-base! export_depends="${export_depends} >= ${PCAT}/${subpackage}-${PVER}" done eval "split_info_${PNAME}-meta() { DESCRIPTION=\"Meta package for ${PNAME}.\" DEPEND=\"${export_depends}\" PKGTYPE=\"virtual\" # 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_GENERATE_META_PACKAGE} = 1 ]] && 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