# Copyright 1999-2000 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author Dan Armak <danarmak@gentoo.org> # $Header: /var/cvsroot/gentoo-x86/eclass/kde.eclass,v 1.42 2002/03/07 17:54:47 danarmak Exp $ # The kde eclass is inherited by all kde-* eclasses. Few ebuilds inherit straight from here. inherit base ECLASS=kde newdepend /autotools DESCRIPTION="Based on the $ECLASS eclass" HOMEPAGE="http://www.kde.org/" kde_src_compile() { debug-print-function $FUNCNAME $* [ -z "$1" ] && kde_src_compile all while [ "$1" ]; do case $1 in myconf) debug-print-section myconf myconf="$myconf --host=${CHOST} --with-x --enable-mitshm --with-xinerama --with-qt-dir=${QTDIR}" case $KDEMAJORVER in 2) myconf="$myconf --prefix=${KDE2DIR}";; 3) myconf="$myconf --prefix=${KDE3DIR}";; *) echo "!!! $ECLASS: $FUNCNAME: myconf: could not set --prefix based on \$KDEMAJOVER=\"$KDEMAJORVER\"" && exit 1;; esac use qtmt && myconf="$myconf --enable-mt" [ -n "$DEBUG" ] && myconf="$myconf --enable-debug --with-debug" || myconf="$myconf --disable-debug --without-debug" debug-print "$FUNCNAME: myconf: set to ${myconf}" ;; configure) debug-print-section configure debug-print "$FUNCNAME::configure: myconf=$myconf" # This can happen with e.g. a cvs snapshot if [ ! -f "./configure" ]; then for x in Makefile.cvs admin/Makefile.common; do if [ -f "$x" ] && [ -z "$makefile" ]; then makefile="$x"; fi done debug-print "$FUNCNAME: configure: generating configure script, running make -f $makefile" emake -f $makefile [ -f "./configure" ] || die "no configure script found, generation unsuccessful" fi export PATH="${KDEDIR}/bin:${PATH}" ./configure ${myconf} || die "died running ./configure, $FUNCNAME:configure" ;; make) export PATH="${KDEDIR}/bin:${PATH}" debug-print-section make emake || die "died running emake, $FUNCNAME:make" ;; all) debug-print-section all kde_src_compile myconf configure make ;; esac shift done } kde_src_install() { debug-print-function $FUNCNAME $* [ -z "$1" ] && kde_src_install all while [ "$1" ]; do case $1 in make) debug-print-section make make install DESTDIR=${D} destdir=${D} || die "died running make install, $FUNCNAME:make" ;; dodoc) debug-print-section dodoc dodoc AUTHORS ChangeLog README* COPYING NEWS TODO ;; all) debug-print-section all kde_src_install make dodoc ;; esac shift done } EXPORT_FUNCTIONS src_compile src_install # generic makefile sed for sandbox compatibility. for some reason when the kde makefiles (of many packages # and versions) try to chown root and chmod 4755 some binaries (after installing, target isntall-exec-local), # they do it to the files in $(bindir), not $(DESTDIR)/$(bindir). I'll file a bugreport on bugs.kde.org. # Pass a list of dirs to sed, Makefile.{am,in} in these dirs will be sed'ed. # This should be harmless if the makefile doesn't need fixing. kde_sandbox_patch() { debug-print-function $FUNCNAME $* while [ -n "$1" ]; do # can't use dosed, because it only works for things in ${D}, not ${S} cd $1 for x in Makefile.{am,in} do [ -f "$x" ] && \ cp $x ${x}.orig && \ sed -e 's: $(bindir): $(DESTDIR)/$(bindir):g' ${x}.orig > ${x} && \ rm ${x}.orig done shift done }