[proaudio] [1925] Eclasses from kde-sunset, needed for kde/qt3 programs

[ Thread Index | Date Index | More lists.tuxfamily.org/proaudio Archives ]


Revision: 1925
Author:   dominique
Date:     2011-04-17 00:42:24 +0200 (Sun, 17 Apr 2011)
Log Message:
-----------
Eclasses from kde-sunset, needed for kde/qt3 programs

Added Paths:
-----------
    trunk/overlays/proaudio/eclass/kde-functions.eclass
    trunk/overlays/proaudio/eclass/kde.eclass
    trunk/overlays/proaudio/eclass/qt3.eclass

Added: trunk/overlays/proaudio/eclass/kde-functions.eclass
===================================================================
--- trunk/overlays/proaudio/eclass/kde-functions.eclass	                        (rev 0)
+++ trunk/overlays/proaudio/eclass/kde-functions.eclass	2011-04-16 22:42:24 UTC (rev 1925)
@@ -0,0 +1,670 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde-functions.eclass,v 1.175 2009/11/01 20:26:34 abcd Exp $
+
+# @ECLASS: kde-functions.eclass
+# @MAINTAINER:
+# kde@xxxxxxxxxx
+# Original author Dan Armak <danarmak@xxxxxxxxxx>
+#
+# @BLURB: This contains everything except things that modify ebuild variables and
+# @DESCRIPTION:
+# This contains everything except things that modify ebuild variables
+# and functions (e.g. $P, src_compile() etc.)
+
+inherit qt3 eutils
+
+# map of the monolithic->split ebuild derivation; used to build deps describing
+# the relationships between them
+KDE_DERIVATION_MAP='
+kde-base/kdeaccessibility kde-base/kbstateapplet
+kde-base/kdeaccessibility kde-base/kdeaccessibility-iconthemes
+kde-base/kdeaccessibility kde-base/kmag
+kde-base/kdeaccessibility kde-base/kmousetool
+kde-base/kdeaccessibility kde-base/kmouth
+kde-base/kdeaccessibility kde-base/kttsd
+kde-base/kdeaccessibility kde-base/ksayit
+kde-base/kdeaddons kde-base/atlantikdesigner
+kde-base/kdeaddons kde-base/kaddressbook-plugins
+kde-base/kdeaddons kde-base/kate-plugins
+kde-base/kdeaddons kde-base/kdeaddons-docs-konq-plugins
+kde-base/kdeaddons kde-base/kdeaddons-kfile-plugins
+kde-base/kdeaddons kde-base/kicker-applets
+kde-base/kdeaddons kde-base/knewsticker-scripts
+kde-base/kdeaddons kde-base/konq-plugins
+kde-base/kdeaddons kde-base/konqueror-akregator
+kde-base/kdeaddons kde-base/ksig
+kde-base/kdeaddons kde-base/noatun-plugins
+kde-base/kdeaddons kde-base/renamedlg-audio
+kde-base/kdeaddons kde-base/renamedlg-images
+kde-base/kdeadmin kde-base/kcron
+kde-base/kdeadmin kde-base/kdat
+kde-base/kdeadmin kde-base/kdeadmin-kfile-plugins
+kde-base/kdeadmin kde-base/knetworkconf
+kde-base/kdeadmin kde-base/kpackage
+kde-base/kdeadmin kde-base/ksysv
+kde-base/kdeadmin kde-base/kuser
+kde-base/kdeadmin kde-base/lilo-config
+kde-base/kdeadmin kde-base/secpolicy
+kde-base/kdeartwork kde-base/kdeartwork-emoticons
+kde-base/kdeartwork kde-base/kdeartwork-icewm-themes
+kde-base/kdeartwork kde-base/kdeartwork-iconthemes
+kde-base/kdeartwork kde-base/kdeartwork-kscreensaver
+kde-base/kdeartwork kde-base/kdeartwork-kwin-styles
+kde-base/kdeartwork kde-base/kdeartwork-kworldclock
+kde-base/kdeartwork kde-base/kdeartwork-kworldwatch
+kde-base/kdeartwork kde-base/kdeartwork-sounds
+kde-base/kdeartwork kde-base/kdeartwork-styles
+kde-base/kdeartwork kde-base/kdeartwork-wallpapers
+kde-base/kdebase kde-base/drkonqi
+kde-base/kdebase kde-base/kappfinder
+kde-base/kdebase kde-base/kate
+kde-base/kdebase kde-base/kcheckpass
+kde-base/kdebase kde-base/kcminit
+kde-base/kdebase kde-base/kcontrol
+kde-base/kdebase kde-base/kdcop
+kde-base/kdebase kde-base/kdebase-data
+kde-base/kdebase kde-base/kdebase-kioslaves
+kde-base/kdebase kde-base/kdebase-startkde
+kde-base/kdebase kde-base/kdebugdialog
+kde-base/kdebase kde-base/kdepasswd
+kde-base/kdebase kde-base/kdeprint
+kde-base/kdebase kde-base/kdesktop
+kde-base/kdebase kde-base/kdesu
+kde-base/kdebase kde-base/kdialog
+kde-base/kdebase kde-base/kdm
+kde-base/kdebase kde-base/kfind
+kde-base/kdebase kde-base/khelpcenter
+kde-base/kdebase kde-base/khotkeys
+kde-base/kdebase kde-base/kicker
+kde-base/kdebase kde-base/klipper
+kde-base/kdebase kde-base/kmenuedit
+kde-base/kdebase kde-base/knetattach
+kde-base/kdebase kde-base/konqueror
+kde-base/kdebase kde-base/konsole
+kde-base/kdebase kde-base/kpager
+kde-base/kdebase kde-base/kpersonalizer
+kde-base/kdebase kde-base/kreadconfig
+kde-base/kdebase kde-base/kscreensaver
+kde-base/kdebase kde-base/ksmserver
+kde-base/kdebase kde-base/ksplashml
+kde-base/kdebase kde-base/kstart
+kde-base/kdebase kde-base/ksysguard
+kde-base/kdebase kde-base/ksystraycmd
+kde-base/kdebase kde-base/ktip
+kde-base/kdebase kde-base/kwin
+kde-base/kdebase kde-base/kxkb
+kde-base/kdebase kde-base/libkonq
+kde-base/kdebase kde-base/nsplugins
+kde-base/kdebindings kde-base/dcopc
+kde-base/kdebindings kde-base/dcopjava
+kde-base/kdebindings kde-base/dcopperl
+kde-base/kdebindings kde-base/dcoppython
+kde-base/kdebindings kde-base/kalyptus
+kde-base/kdebindings kde-base/kdejava
+kde-base/kdebindings kde-base/kjsembed
+kde-base/kdebindings kde-base/korundum
+kde-base/kdebindings kde-base/pykde
+kde-base/kdebindings kde-base/qtjava
+kde-base/kdebindings kde-base/qtruby
+kde-base/kdebindings kde-base/qtsharp
+kde-base/kdebindings kde-base/smoke
+kde-base/kdebindings kde-base/xparts
+kde-base/kdeedu kde-base/blinken
+kde-base/kdeedu kde-base/kalzium
+kde-base/kdeedu kde-base/kanagram
+kde-base/kdeedu kde-base/kbruch
+kde-base/kdeedu kde-base/kdeedu-applnk
+kde-base/kdeedu kde-base/keduca
+kde-base/kdeedu kde-base/kgeography
+kde-base/kdeedu kde-base/khangman
+kde-base/kdeedu kde-base/kig
+kde-base/kdeedu kde-base/kiten
+kde-base/kdeedu kde-base/klatin
+kde-base/kdeedu kde-base/klettres
+kde-base/kdeedu kde-base/kmathtool
+kde-base/kdeedu kde-base/kmessedwords
+kde-base/kdeedu kde-base/kmplot
+kde-base/kdeedu kde-base/kpercentage
+kde-base/kdeedu kde-base/kstars
+kde-base/kdeedu kde-base/ktouch
+kde-base/kdeedu kde-base/kturtle
+kde-base/kdeedu kde-base/kverbos
+kde-base/kdeedu kde-base/kvoctrain
+kde-base/kdeedu kde-base/kwordquiz
+kde-base/kdeedu kde-base/libkdeedu
+kde-base/kdegames kde-base/atlantik
+kde-base/kdegames kde-base/kasteroids
+kde-base/kdegames kde-base/katomic
+kde-base/kdegames kde-base/kbackgammon
+kde-base/kdegames kde-base/kbattleship
+kde-base/kdegames kde-base/kblackbox
+kde-base/kdegames kde-base/kbounce
+kde-base/kdegames kde-base/kenolaba
+kde-base/kdegames kde-base/kfouleggs
+kde-base/kdegames kde-base/kgoldrunner
+kde-base/kdegames kde-base/kjumpingcube
+kde-base/kdegames kde-base/klickety
+kde-base/kdegames kde-base/klines
+kde-base/kdegames kde-base/kmahjongg
+kde-base/kdegames kde-base/kmines
+kde-base/kdegames kde-base/knetwalk
+kde-base/kdegames kde-base/kolf
+kde-base/kdegames kde-base/konquest
+kde-base/kdegames kde-base/kpat
+kde-base/kdegames kde-base/kpoker
+kde-base/kdegames kde-base/kreversi
+kde-base/kdegames kde-base/ksame
+kde-base/kdegames kde-base/kshisen
+kde-base/kdegames kde-base/ksirtet
+kde-base/kdegames kde-base/ksmiletris
+kde-base/kdegames kde-base/ksnake
+kde-base/kdegames kde-base/ksokoban
+kde-base/kdegames kde-base/kspaceduel
+kde-base/kdegames kde-base/ktron
+kde-base/kdegames kde-base/ktuberling
+kde-base/kdegames kde-base/kwin4
+kde-base/kdegames kde-base/libkdegames
+kde-base/kdegames kde-base/libksirtet
+kde-base/kdegames kde-base/lskat
+kde-base/kdegraphics kde-base/kamera
+kde-base/kdegraphics kde-base/kcoloredit
+kde-base/kdegraphics kde-base/kdegraphics-kfile-plugins
+kde-base/kdegraphics kde-base/kdvi
+kde-base/kdegraphics kde-base/kfax
+kde-base/kdegraphics kde-base/kgamma
+kde-base/kdegraphics kde-base/kghostview
+kde-base/kdegraphics kde-base/kiconedit
+kde-base/kdegraphics kde-base/kmrml
+kde-base/kdegraphics kde-base/kolourpaint
+kde-base/kdegraphics kde-base/kooka
+kde-base/kdegraphics kde-base/kpdf
+kde-base/kdegraphics kde-base/kpovmodeler
+kde-base/kdegraphics kde-base/kruler
+kde-base/kdegraphics kde-base/ksnapshot
+kde-base/kdegraphics kde-base/ksvg
+kde-base/kdegraphics kde-base/kuickshow
+kde-base/kdegraphics kde-base/kview
+kde-base/kdegraphics kde-base/kviewshell
+kde-base/kdegraphics kde-base/libkscan
+kde-base/kdemultimedia kde-base/akode
+kde-base/kdemultimedia kde-base/artsplugin-akode
+kde-base/kdemultimedia kde-base/artsplugin-audiofile
+kde-base/kdemultimedia kde-base/artsplugin-mpeglib
+kde-base/kdemultimedia kde-base/artsplugin-mpg123
+kde-base/kdemultimedia kde-base/artsplugin-xine
+kde-base/kdemultimedia kde-base/juk
+kde-base/kdemultimedia kde-base/kaboodle
+kde-base/kdemultimedia kde-base/kaudiocreator
+kde-base/kdemultimedia kde-base/kdemultimedia-arts
+kde-base/kdemultimedia kde-base/kdemultimedia-kappfinder-data
+kde-base/kdemultimedia kde-base/kdemultimedia-kfile-plugins
+kde-base/kdemultimedia kde-base/kdemultimedia-kioslaves
+kde-base/kdemultimedia kde-base/kmid
+kde-base/kdemultimedia kde-base/kmix
+kde-base/kdemultimedia kde-base/krec
+kde-base/kdemultimedia kde-base/kscd
+kde-base/kdemultimedia kde-base/libkcddb
+kde-base/kdemultimedia kde-base/mpeglib
+kde-base/kdemultimedia kde-base/noatun
+kde-base/kdenetwork kde-base/dcoprss
+kde-base/kdenetwork kde-base/kdenetwork-filesharing
+kde-base/kdenetwork kde-base/kdenetwork-kfile-plugins
+kde-base/kdenetwork kde-base/kdict
+kde-base/kdenetwork kde-base/kdnssd
+kde-base/kdenetwork kde-base/kget
+kde-base/kdenetwork kde-base/knewsticker
+kde-base/kdenetwork kde-base/kopete
+kde-base/kdenetwork kde-base/kpf
+kde-base/kdenetwork kde-base/kppp
+kde-base/kdenetwork kde-base/krdc
+kde-base/kdenetwork kde-base/krfb
+kde-base/kdenetwork kde-base/ksirc
+kde-base/kdenetwork kde-base/ktalkd
+kde-base/kdenetwork kde-base/kwifimanager
+kde-base/kdenetwork kde-base/librss
+kde-base/kdenetwork kde-base/lisa
+kde-base/kdepim kde-base/akregator
+kde-base/kdepim kde-base/certmanager
+kde-base/kdepim kde-base/kaddressbook
+kde-base/kdepim kde-base/kalarm
+kde-base/kdepim kde-base/kandy
+kde-base/kdepim kde-base/karm
+kde-base/kdepim kde-base/kdepim-kioslaves
+kde-base/kdepim kde-base/kdepim-kresources
+kde-base/kdepim kde-base/kdepim-wizards
+kde-base/kdepim kde-base/kitchensync
+kde-base/kdepim kde-base/kmail
+kde-base/kdepim kde-base/kmailcvt
+kde-base/kdepim kde-base/knode
+kde-base/kdepim kde-base/knotes
+kde-base/kdepim kde-base/kode
+kde-base/kdepim kde-base/konsolekalendar
+kde-base/kdepim kde-base/kontact
+kde-base/kdepim kde-base/kontact-specialdates
+kde-base/kdepim kde-base/korganizer
+kde-base/kdepim kde-base/korn
+kde-base/kdepim kde-base/kpilot
+kde-base/kdepim kde-base/ksync
+kde-base/kdepim kde-base/ktnef
+kde-base/kdepim kde-base/libkcal
+kde-base/kdepim kde-base/libkdenetwork
+kde-base/kdepim kde-base/libkdepim
+kde-base/kdepim kde-base/libkholidays
+kde-base/kdepim kde-base/libkmime
+kde-base/kdepim kde-base/libkpgp
+kde-base/kdepim kde-base/libkpimexchange
+kde-base/kdepim kde-base/libkpimidentities
+kde-base/kdepim kde-base/libksieve
+kde-base/kdepim kde-base/mimelib
+kde-base/kdepim kde-base/networkstatus
+kde-base/kdesdk kde-base/cervisia
+kde-base/kdesdk kde-base/kapptemplate
+kde-base/kdesdk kde-base/kbabel
+kde-base/kdesdk kde-base/kbugbuster
+kde-base/kdesdk kde-base/kcachegrind
+kde-base/kdesdk kde-base/kdesdk-kfile-plugins
+kde-base/kdesdk kde-base/kdesdk-kioslaves
+kde-base/kdesdk kde-base/kdesdk-misc
+kde-base/kdesdk kde-base/kdesdk-scripts
+kde-base/kdesdk kde-base/kmtrace
+kde-base/kdesdk kde-base/kompare
+kde-base/kdesdk kde-base/kspy
+kde-base/kdesdk kde-base/kuiviewer
+kde-base/kdesdk kde-base/umbrello
+kde-base/kdetoys kde-base/amor
+kde-base/kdetoys kde-base/eyesapplet
+kde-base/kdetoys kde-base/fifteenapplet
+kde-base/kdetoys kde-base/kmoon
+kde-base/kdetoys kde-base/kodo
+kde-base/kdetoys kde-base/kteatime
+kde-base/kdetoys kde-base/ktux
+kde-base/kdetoys kde-base/kweather
+kde-base/kdetoys kde-base/kworldclock
+kde-base/kdetoys kde-base/kworldwatch
+kde-base/kdeutils kde-base/ark
+kde-base/kdeutils kde-base/kcalc
+kde-base/kdeutils kde-base/kcharselect
+kde-base/kdeutils kde-base/kdelirc
+kde-base/kdeutils kde-base/kdf
+kde-base/kdeutils kde-base/kedit
+kde-base/kdeutils kde-base/kfloppy
+kde-base/kdeutils kde-base/kgpg
+kde-base/kdeutils kde-base/khexedit
+kde-base/kdeutils kde-base/kjots
+kde-base/kdeutils kde-base/klaptopdaemon
+kde-base/kdeutils kde-base/kmilo
+kde-base/kdeutils kde-base/kregexpeditor
+kde-base/kdeutils kde-base/ksim
+kde-base/kdeutils kde-base/ktimer
+kde-base/kdeutils kde-base/kwalletmanager
+kde-base/kdeutils kde-base/superkaramba
+kde-base/kdewebdev kde-base/kfilereplace
+kde-base/kdewebdev kde-base/kimagemapeditor
+kde-base/kdewebdev kde-base/klinkstatus
+kde-base/kdewebdev kde-base/kommander
+kde-base/kdewebdev kde-base/kxsldbg
+kde-base/kdewebdev kde-base/quanta
+app-office/koffice app-office/karbon
+app-office/koffice app-office/kchart
+app-office/koffice app-office/kexi
+app-office/koffice app-office/kformula
+app-office/koffice app-office/kivio
+app-office/koffice app-office/koffice-data
+app-office/koffice app-office/koffice-libs
+app-office/koffice app-office/koffice-meta
+app-office/koffice app-office/koshell
+app-office/koffice app-office/kplato
+app-office/koffice app-office/kpresenter
+app-office/koffice app-office/krita
+app-office/koffice app-office/kspread
+app-office/koffice app-office/kugar
+app-office/koffice app-office/kword
+'
+
+# @FUNCTION: get-parent-package
+# @USAGE: < name of split-ebuild >
+# @DESCRIPTION:
+# accepts 1 parameter, the name of a split ebuild; echoes the name of its mother package
+get-parent-package() {
+	local parent child
+	while read parent child; do
+		if [[ ${child} == $1 ]]; then
+			echo ${parent}
+			return 0
+		fi
+	done <<EOF
+$KDE_DERIVATION_MAP
+EOF
+	die "Package $1 not found in KDE_DERIVATION_MAP, please report bug"
+}
+
+# @FUNCTION: get-child-packages
+# @USAGE: < name of monolithic package >
+# @DESCRIPTION:
+# accepts 1 parameter, the name of a monolithic package; echoes the names of all ebuilds derived from it
+get-child-packages() {
+	local parent child
+	while read parent child; do
+		[[ ${parent} == $1 ]] && echo -n "${child} "
+	done <<EOF
+$KDE_DERIVATION_MAP
+EOF
+}
+
+# @FUNCTION: is-parent-package
+# @USAGE: < name >
+# @RETURN: 0 if <name> is a parent package, otherwise 1
+is-parent-package() {
+	local parent child
+	while read parent child; do
+		[[ "${parent}" == "$1" ]] && return 0
+	done <<EOF
+$KDE_DERIVATION_MAP
+EOF
+	return 1
+}
+
+# ---------------------------------------------------------------
+# kde/qt directory management etc. functions, was kde-dirs.ebuild
+# ---------------------------------------------------------------
+
+# @FUNCTION: need-kde
+# @USAGE: < version >
+# @DESCRIPTION:
+# Sets the correct DEPEND and RDEPEND for the needed kde < version >. Also takes
+# care of the correct Qt-version and correct RDEPEND handling.
+need-kde() {
+	debug-print-function $FUNCNAME "$@"
+
+	KDEVER="$1"
+
+	# determine install locations
+	set-kdedir ${KDEVER}
+
+	if [[ "${RDEPEND-unset}" != "unset" ]]; then
+		x_DEPEND="${RDEPEND}"
+	else
+		x_DEPEND="${DEPEND}"
+	fi
+	if [[ -n "${KDEBASE}" ]]; then
+		# If we're a kde-base package, we need at least our own version of kdelibs.
+		# Note: we only set RDEPEND if it is already set, otherwise
+		# we break packages relying on portage copying RDEPEND from DEPEND.
+		DEPEND="${DEPEND} ~kde-base/kdelibs-$PV"
+		RDEPEND="${x_DEPEND} ~kde-base/kdelibs-${PV}"
+	else
+		# Things outside kde-base need a minimum version,
+		# but kde-base/kdelibs:kde-4 mustn't satisfy it.
+		min-kde-ver ${KDEVER}
+		DEPEND="${DEPEND} =kde-base/kdelibs-3.5*"
+		RDEPEND="${x_DEPEND} =kde-base/kdelibs-3.5*"
+	fi
+
+	qtver-from-kdever ${KDEVER}
+	need-qt ${selected_version}
+
+	if [[ -n "${KDEBASE}" ]]; then
+		SLOT="$KDEMAJORVER.$KDEMINORVER"
+	else
+		: ${SLOT="0"}
+	fi
+}
+
+# @FUNCTION: set-kdedir
+# @USAGE: < version >
+# @DESCRIPTION:
+# Sets the right directories for the kde <version> wrt what kind of package will
+# be installed, e. g. third-party-apps, kde-base-packages, ...
+set-kdedir() {
+	debug-print-function $FUNCNAME "$@"
+
+
+	# set install location:
+	# - 3rd party apps go into /usr, and have SLOT="0".
+	# - kde-base category ebuilds go into /usr/kde/$MAJORVER.$MINORVER,
+	# and have SLOT="$MAJORVER.$MINORVER".
+	# - kde-base category cvs ebuilds have major version 5 and go into
+	# /usr/kde/cvs; they have SLOT="cvs".
+	# - Backward-compatibility exceptions: all kde2 packages (kde-base or otherwise)
+	# go into /usr/kde/2. kde 3.0.x goes into /usr/kde/3 (and not 3.0).
+	# - kde-base category ebuilds always depend on their exact matching version of
+	# kdelibs and link against it. Other ebuilds link aginst the latest one found.
+	# - This function exports $PREFIX (location to install to) and $KDEDIR
+	# (location of kdelibs to link against) for all ebuilds.
+	#
+	# -- Overrides - deprecated but working for now: --
+	# - If $KDEPREFIX is defined (in the profile or env), it overrides everything
+	# and both base and 3rd party kde stuff goes in there.
+	# - If $KDELIBSDIR is defined, the kdelibs installed in that location will be
+	# used, even by kde-base packages.
+
+	# get version elements
+	IFSBACKUP="$IFS"
+	IFS=".-_"
+	for x in $1; do
+		if [[ -z "$KDEMAJORVER" ]]; then KDEMAJORVER=$x
+		else if [[ -z "$KDEMINORVER" ]]; then KDEMINORVER=$x
+		else if [[ -z "$KDEREVISION" ]]; then KDEREVISION=$x
+		fi; fi; fi
+	done
+	[[ -z "$KDEMINORVER" ]] && KDEMINORVER="0"
+	[[ -z "$KDEREVISION" ]] && KDEREVISION="0"
+	IFS="$IFSBACKUP"
+	debug-print "$FUNCNAME: version breakup: KDEMAJORVER=$KDEMAJORVER KDEMINORVER=$KDEMINORVER KDEREVISION=$KDEREVISION"
+
+	# install prefix
+	if [[ -n "$KDEPREFIX" ]]; then
+		export PREFIX="$KDEPREFIX"
+	else
+		if  [[ -z "$KDEBASE" ]]; then
+			PREFIX="/usr/kde/3.5"
+		else
+			case $KDEMAJORVER.$KDEMINORVER in
+				3*) export PREFIX="/usr/kde/3.5";;
+				5.0) export PREFIX="/usr/kde/svn";;
+				*) die "failed to set PREFIX";;
+			esac
+		fi
+	fi
+
+	# kdelibs location
+	if [[ -n "$KDELIBSDIR" ]]; then
+		export KDEDIR="$KDELIBSDIR"
+	else
+		if [[ -z "$KDEBASE" ]]; then
+			# find the latest kdelibs installed
+			for x in /usr/kde/{svn,3.5} "${PREFIX}" \
+				"${KDE3LIBSDIR}" "${KDELIBSDIR}" "${KDE3DIR}" "${KDEDIR}" /usr/kde/*; do
+				if [[ -f "${x}/include/kwin.h" ]]; then
+					debug-print found
+					export KDEDIR="$x"
+					break
+				fi
+			done
+		else
+			# kde-base ebuilds must always use the exact version of kdelibs they came with
+			case $KDEMAJORVER.$KDEMINORVER in
+				3*) export KDEDIR="/usr/kde/3.5";;
+				5.0) export KDEDIR="/usr/kde/svn";;
+				*) die "failed to set KDEDIR";;
+			esac
+		fi
+	fi
+
+	debug-print "$FUNCNAME: Will use the kdelibs installed in $KDEDIR, and install into $PREFIX."
+}
+
+# @FUNCTION: need-qt
+# @USAGE: < version >
+# @DESCRIPTION:
+# Sets the DEPEND and RDEPEND for Qt <version>.
+need-qt() {
+	debug-print-function $FUNCNAME "${@}"
+
+	QTVER="$1"
+
+	QT=qt
+
+	if [[ "${RDEPEND-unset}" != "unset" ]]; then
+		x_DEPEND="${RDEPEND}"
+	else
+		x_DEPEND="${DEPEND}"
+	fi
+
+	case ${QTVER} in
+		3*)	DEPEND="${DEPEND} =x11-libs/qt-meta-3*"
+			RDEPEND="${RDEPEND} =x11-libs/qt-meta-3*"
+			;;
+		*)	echo "!!! error: $FUNCNAME() called with invalid parameter: \"$QTVER\", please report bug" && exit 1;;
+	esac
+
+}
+
+# @FUNCTION: set-qtdir
+# @DESCRIPTION:
+# This function is not needed anymore.
+set-qtdir() {
+	:
+}
+
+# @FUNCTION: qtver-from-kdever
+# @USAGE: < kde-version >
+# @DESCRIPTION:
+# returns minimal qt version needed for specified kde version
+qtver-from-kdever() {
+	debug-print-function $FUNCNAME "$@"
+
+	local ver
+
+	case $1 in
+		3.1*)	ver=3.1;;
+		3.2*)	ver=3.2;;
+		3.3*)	ver=3.3;;
+		3.4*)	ver=3.3;;
+		3.5*)	ver=3.3;;
+		3*)	ver=3.0.5;;
+		5)	ver=3.3;; # cvs version
+		*)	echo "!!! error: $FUNCNAME called with invalid parameter: \"$1\", please report bug" && exit 1;;
+	esac
+
+	selected_version="$ver"
+
+}
+
+min-kde-ver() {
+	debug-print-function $FUNCNAME "$@"
+
+	case $1 in
+		3.0*)			selected_version="3.0";;
+		3.1*)			selected_version="3.1";;
+		3.2*)			selected_version="3.2";;
+		3.3*)			selected_version="3.3";;
+		3.4*)			selected_version="3.4";;
+		3.5*)			selected_version="3.5";;
+		3*)			selected_version="3.0";;
+		5)			selected_version="5";;
+		*)			echo "!!! error: $FUNCNAME() called with invalid parameter: \"$1\", please report bug" && exit 1;;
+	esac
+
+}
+
+# @FUNCTION: kde_sandbox_patch
+# @USAGE: < dir > [ dir ] [ dir ] [...]
+# @DESCRIPTION:
+# 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 install-exec-local),
+# they do it to the files in $(bindir), not $(DESTDIR)/$(bindir). Most of these have been fixed in latest cvs
+# but a few remain here and there.
+#
+# 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 Makefile.in Makefile
+	do
+		if [[ -f "$x" ]]; then
+			echo Running sed on $x
+			cp $x ${x}.orig
+			sed -e 's: $(bindir): $(DESTDIR)/$(bindir):g' -e 's: $(kde_datadir): $(DESTDIR)/$(kde_datadir):g' -e 's: $(TIMID_DIR): $(DESTDIR)/$(TIMID_DIR):g' ${x}.orig > ${x}
+			rm ${x}.orig
+		fi
+	done
+	shift
+	done
+
+}
+
+# @FUNCTION: kde_remove_flag
+# @USAGE: < dir > < flag >
+# @DESCRIPTION:
+# remove an optimization flag from a specific subdirectory's makefiles.
+# currently kdebase and koffice use it to compile certain subdirs without
+# -fomit-frame-pointer which breaks some things.
+kde_remove_flag() {
+	debug-print-function $FUNCNAME "$@"
+
+	cd "${S}"/${1} || die "cd to '${S}/${1}' failed."
+	[[ -n "$2" ]] || die "missing argument to kde_remove_flag"
+
+	cp Makefile Makefile.orig
+	sed -e "/CFLAGS/ s/${2}//g
+/CXXFLAGS/ s/${2}//g" Makefile.orig > Makefile
+
+	cd "${OLDPWD}"
+
+}
+
+buildsycoca() {
+	[[ $EBUILD_PHASE != postinst ]] && [[ $EBUILD_PHASE != postrm ]] && \
+		die "buildsycoca() has to be calles in pkg_postinst() and pkg_postrm()."
+
+	if [[ -x ${KDEDIR}/bin/kbuildsycoca ]] && [[ -z ${ROOT} || ${ROOT} == "/" ]] ; then
+		# First of all, make sure that the /usr/share/services directory exists
+		# and it has the right permissions
+		mkdir -p /usr/share/services
+		chown root:0 /usr/share/services
+		chmod 0755 /usr/share/services
+
+		ebegin "Running kbuildsycoca to build global database"
+		# Filter all KDEDIRs not belonging to the current SLOT from XDG_DATA_DIRS
+		# before running kbuildsycoca. This makes sure they don't show up in the
+		# 3.5 K-menu unless the user manually adds them.
+		XDG_DATA_DIRS="/usr/share:${KDEDIR}/share:/usr/local/share"
+		"${KDEDIR}"/bin/kbuildsycoca --global --noincremental &> /dev/null
+		eend $?
+	fi
+}
+
+postprocess_desktop_entries() {
+	[[ $EBUILD_PHASE != preinst ]] && [[ $EBUILD_PHASE != install ]] && \
+		die "postprocess_desktop_entries() has to be called in src_install() or pkg_preinst()."
+
+	if [[ -d ${D}${PREFIX}/share/applnk ]] ; then
+		# min/max depth is _important_ as it excludes legacy KDE stuff. Moving it would cause breakage.
+		local desktop_entries="$(find "${D}${PREFIX}/share/applnk" -mindepth 2 -maxdepth 2 \
+									-name '*\.desktop' -not -path '*.hidden*' 2>/dev/null)"
+
+		if [[ -n ${desktop_entries} ]]; then
+			for entry in ${desktop_entries} ; do
+				if ! [[ -f "${D}${PREFIX}"/share/applications/kde/${entry##*/} ]] ; then
+					dodir "${PREFIX}"/share/applications/kde
+					mv ${entry} "${D}${PREFIX}"/share/applications/kde
+				fi
+			done
+		fi
+	fi
+
+	validate_desktop_entries "${PREFIX}"/share/applications
+}
+
+# is this a kde-base ebuid?
+if [[ "${CATEGORY}" == "kde-base" ]]; then
+	debug-print "${ECLASS}: KDEBASE ebuild recognized"
+	export KDEBASE="true"
+	export KDEREVISION
+fi

Added: trunk/overlays/proaudio/eclass/kde.eclass
===================================================================
--- trunk/overlays/proaudio/eclass/kde.eclass	                        (rev 0)
+++ trunk/overlays/proaudio/eclass/kde.eclass	2011-04-16 22:42:24 UTC (rev 1925)
@@ -0,0 +1,608 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde.eclass,v 1.223 2009/05/12 12:55:46 tampakrap Exp $
+
+# @ECLASS: kde.eclass
+# @MAINTAINER:
+# kde@xxxxxxxxxx
+#
+# original author Dan Armak <danarmak@xxxxxxxxxx>
+#
+# Revisions Caleb Tennis <caleb@xxxxxxxxxx>
+# @BLURB: The kde eclass is inherited by all kde-* eclasses.
+# @DESCRIPTION:
+# This eclass is inherited by all kde-* eclasses. Few ebuilds inherit straight from here.
+
+[[ -z ${WANT_AUTOMAKE} ]] && WANT_AUTOMAKE="1.9"
+
+inherit base eutils kde-functions flag-o-matic libtool autotools
+
+DESCRIPTION="Based on the $ECLASS eclass"
+HOMEPAGE="http://www.kde.org/";
+IUSE="debug elibc_FreeBSD"
+
+
+if [[ ${CATEGORY} == "kde-base" ]]; then
+	if [[ ${PV##*.} -lt 10 ]] ; then
+		# Keep old ebuilds as is
+		IUSE="${IUSE} kdeenablefinal"
+	else
+		# Don't use --enable-final anymore. Does only cause problems for users and
+		# as an unwelcome extra invalid bug reports, without any reasonable benefit.
+
+		# Get the aRts dependencies right - finally.
+		case "${PN}" in
+			blinken|juk|kalarm|kanagram|kbounce|kcontrol|konq-plugins|kscd|kscreensaver|kttsd|kwifimanager|kdelibs) ARTS_REQUIRED="" ;;
+			artsplugin-*|kaboodle|kasteroids|kdemultimedia-arts|kolf|krec|ksayit|noatun*) ARTS_REQUIRED="yes" ;;
+			*) ARTS_REQUIRED="never" ;;
+		esac
+	fi
+fi
+
+if [[ ${ARTS_REQUIRED} != "yes" && ${ARTS_REQUIRED} != "never" && ${PN} != "arts" ]]; then
+	IUSE="${IUSE} arts"
+fi
+
+# @ECLASS-VARIABLE: KDE_S
+# @DESCRIPTION:
+# Like the 'normal' ${S} this variable takes the path to the temporary build
+# directory. If unset ${S} will be used.
+
+# @ECLASS-VARIABLE: USE_KEG_PACKAGING
+# @DESCRIPTION:
+# Set USE_KEG_PACKAGING=1 before inheriting if the package use extragear-like
+# packaging and then supports ${LANGS} and ${LANGS_DOC} variables. By default
+# translations are found in the po subdirectory of ${S}. Set KEG_PO_DIR to
+# override this default.
+if [[ -n ${USE_KEG_PACKAGING} && -n "${LANGS}${LANGS_DOC}" ]]; then
+	for lang in ${LANGS} ${LANGS_DOC}; do
+		IUSE="${IUSE} linguas_${lang}"
+	done
+fi
+
+DEPEND="sys-devel/make
+	dev-util/pkgconfig
+	dev-lang/perl"
+
+if [[ ${CATEGORY} != "kde-base" ]] || [[ ${CATEGORY} == "kde-base" &&  ${PV##*.} -lt 10 ]] ; then
+	DEPEND="${DEPEND}
+		x11-libs/libXt
+		x11-proto/xf86vidmodeproto
+		xinerama? ( x11-proto/xineramaproto )"
+	RDEPEND="xinerama? ( x11-libs/libXinerama )"
+	IUSE="${IUSE} xinerama"
+else
+	RDEPEND=""
+fi
+
+if [[ ${ARTS_REQUIRED} == "yes" ]]; then
+	DEPEND="${DEPEND} kde-base/arts"
+	RDEPEND="${RDEPEND} kde-base/arts"
+elif [[ ${ARTS_REQUIRED} != "never" && ${PN} != "arts" ]]; then
+	DEPEND="${DEPEND} arts? ( kde-base/arts )"
+	RDEPEND="${RDEPEND} arts? ( kde-base/arts )"
+fi
+
+# overridden in other places like kde-dist, kde-source and some individual ebuilds
+SLOT="0"
+
+# @ECLASS-VARIABLE: ARTS_REQUIRED
+# @DESCRIPTION:
+# Is aRTs-support required or not? Possible values are 'yes', 'never'. Otherwise
+# leave this variable unset. This results in an arts USE flag.
+
+# @FUNCTION: kde_pkg_setup
+# @DESCRIPTION:
+# Some basic test about arts-support. It also filters some compiler flags
+kde_pkg_setup() {
+	if [[ ${PN} != "arts" ]] && [[ ${PN} != "kdelibs" ]] ; then
+		if [[ ${ARTS_REQUIRED} == 'yes' ]] || \
+			( [[ ${ARTS_REQUIRED} != "never" ]] && use arts )  ; then
+			if ! built_with_use =kde-base/kdelibs-3.5* arts ; then
+				if has arts ${IUSE} && use arts; then
+					eerror "You are trying to compile ${CATEGORY}/${PF} with the \"arts\" USE flag enabled."
+				else
+					eerror "The package ${CATEGORY}/${PF} you're trying to merge requires aRTs."
+				fi
+				eerror "However, $(best_version =kde-base/kdelibs-3.5*) was compiled with the arts USE flag disabled."
+				eerror
+				if has arts ${IUSE} && use arts; then
+					eerror "You must either disable this USE flag, or recompile"
+				else
+					eerror "To build this package you have to recompile"
+				fi
+				eerror "$(best_version =kde-base/kdelibs-3.5*) with the arts USE flag enabled."
+				die "kdelibs missing arts"
+			fi
+		fi
+	fi
+
+	if [[ "${PN}" = "kdelibs" ]]; then
+		use doc && if ! built_with_use =x11-libs/qt-meta-3* doc ; then
+			eerror "Building kdelibs with the doc USE flag requires qt to be built with the doc USE flag."
+			eerror "Please re-emerge qt-3 with this USE flag enabled."
+		fi
+	fi
+
+	# Let filter visibility flags that will *really* hurt your KDE
+	# _experimental_ support for this is enabled by kdehiddenvisibility useflag
+	filter-flags -fvisibility=hidden -fvisibility-inlines-hidden
+}
+
+# @FUNCTION: kde_src_unpack
+# @DESCRIPTION:
+# This function unpacks the sources.
+# For EAPI 0 and 1 it allso runs kde_src_prepare.
+kde_src_unpack() {
+	debug-print-function $FUNCNAME "$@"
+	[[ -z "$*" ]] || die "$FUNCNAME no longer supports stages."
+	[[ -z "${KDE_S}" ]] && KDE_S="${S}"
+	# Don't use base_src_unpack, as that will call base_src_prepare
+	# in the wrong place
+	[[ -d "${KDE_S}" ]] || unpack ${A}
+	case ${EAPI:-0} in
+		0|1) kde_src_prepare ;;
+	esac
+}
+
+# @FUNCTION: kde_src_prepare
+# @DESCRIPTION:
+# This function patches the sources. The patches need to be named
+# $PN-$PV-*{diff,patch}
+#
+# This function also handles the linguas if extragear-like packaging is enabled.
+# (See USE_KEG_PACKAGING)
+kde_src_prepare() {
+	debug-print-function $FUNCNAME "$@"
+	local PATCHDIR="${WORKDIR}/patches/"
+
+	# Unpack first and deal with KDE patches after examing possible patch sets.
+	# To be picked up, patches need to be named $PN-$PV-*{diff,patch} and be
+	# placed in $PATCHDIR. Monolithic ebuilds will use the split ebuild patches.
+	if [[ -d "${PATCHDIR}" ]] ; then
+		local packages p f
+		if is-parent-package ${CATEGORY}/${PN} ; then
+			packages="$(get-child-packages ${CATEGORY}/${PN})"
+			packages="${packages//${CATEGORY}\//} ${PN}"
+		else
+			packages="${PN}"
+		fi
+		if [[ -n ${PATCHES[@]} && $(declare -p PATCHES) != 'declare -a '* ]]; then
+			PATCHES=(${PATCHES})
+		fi
+		for p in ${packages}; do
+			for f in "${PATCHDIR}"/${p}-${PV}-*{diff,patch}; do
+				[[ -e ${f} ]] && PATCHES+=("${f}")
+			done
+			if [[ -n "${KDEBASE}" ]]; then
+				for f in "${PATCHDIR}"/${p}-${SLOT}-*{diff,patch}; do
+					[[ -e ${f} ]] && PATCHES+=("${f}")
+				done
+			fi
+		done
+	fi
+
+	base_src_prepare
+
+	# if extragear-like packaging is enabled, set the translations and the
+	# documentation depending on LINGUAS settings
+	if [[ -n ${USE_KEG_PACKAGING} ]]; then
+		if [[ -z ${LINGUAS} ]]; then
+			einfo "You can drop some of the translations of the interface and"
+			einfo "documentation by setting the \${LINGUAS} variable to the"
+			einfo "languages you want installed."
+			einfo
+			einfo "Enabling all languages"
+		else
+			# we sanitise LINGUAS to avoid issues when a user specifies the same
+			# linguas twice. bug #215016.
+			local sanitised_linguas=$(echo "${LINGUAS}" | tr '[[:space:]]' '\n' | sort | uniq)
+			if [[ -n ${LANGS} ]]; then
+				MAKE_PO=$(echo "${sanitised_linguas} ${LANGS}" | tr '[[:space:]]' '\n' | sort | uniq -d | tr '\n' ' ')
+				einfo "Enabling translations for: ${MAKE_PO}"
+				sed -i -e "s:^SUBDIRS[ \t]*=.*:SUBDIRS = ${MAKE_PO}:" "${KDE_S}/${KEG_PO_DIR:-po}/Makefile.am" \
+					|| die "sed for locale failed"
+				rm -f "${KDE_S}/configure"
+			fi
+
+			if [[ -n ${LANGS_DOC} ]]; then
+				MAKE_DOC=$(echo "${sanitised_linguas} ${LANGS_DOC}" | tr '[[:space:]]' '\n' | sort | uniq -d | tr '\n' ' ')
+				einfo "Enabling documentation for: ${MAKE_DOC}"
+				[[ -n ${MAKE_DOC} ]] && [[ -n ${DOC_DIR_SUFFIX} ]] && MAKE_DOC=$(echo "${MAKE_DOC}" | tr '\n' ' ') && MAKE_DOC="${MAKE_DOC// /${DOC_DIR_SUFFIX} }"
+				sed -i -e "s:^SUBDIRS[ \t]*=.*:SUBDIRS = ${MAKE_DOC} ${PN}:" \
+					"${KDE_S}/doc/Makefile.am" || die "sed for locale failed"
+				rm -f "${KDE_S}/configure"
+			fi
+		fi
+	fi
+
+	# fix the 'languageChange undeclared' bug group: touch all .ui files, so that the
+	# makefile regenerate any .cpp and .h files depending on them.
+	cd "${KDE_S}"
+	debug-print "$FUNCNAME: Searching for .ui files in ${PWD}"
+	UIFILES="$(find . -name '*.ui' -print)"
+	debug-print "$FUNCNAME: .ui files found:"
+	debug-print "$UIFILES"
+	# done in two stages, because touch doens't have a silent/force mode
+	if [[ -n "$UIFILES" ]]; then
+		debug-print "$FUNCNAME: touching .ui files..."
+		touch $UIFILES
+	fi
+
+	if [[ -d "${WORKDIR}/admin" ]] && [[ -d "${KDE_S}/admin" ]]; then
+		ebegin "Updating admin/ directory..."
+		rm -rf "${KDE_S}/admin" "${KDE_S}/configure" || die "Unable to remove old admin/ directory"
+		ln -s "${WORKDIR}/admin" "${KDE_S}/admin" || die "Unable to symlink the new admin/ directory"
+		eend 0
+	fi
+}
+
+# @FUNCTION: kde_src_configure
+# @USAGE: [ myconf ] [ configure ] [ all ]
+# @DESCRIPTION:
+# This function compiles the sources. It takes care of "cannot write to .kde
+# or .qt"-problem due to sandbox and some other sandbox issues.
+#
+# If no argument is given, all is assumed.
+kde_src_configure() {
+	debug-print-function $FUNCNAME "$@"
+
+	[[ -z "$1" ]] && kde_src_configure all
+
+	[[ -z "${KDE_S}" ]] && KDE_S="${S}"
+	cd "${KDE_S}"
+
+	export kde_widgetdir="$KDEDIR/$(get_libdir)/kde3/plugins/designer"
+
+	# fix the sandbox errors "can't writ to .kde or .qt" problems.
+	# this is a fake homedir that is writeable under the sandbox, so that the build process
+	# can do anything it wants with it.
+	REALHOME="$HOME"
+	mkdir -p "${T}"/fakehome/.kde
+	mkdir -p "${T}"/fakehome/.qt
+	export HOME="${T}"/fakehome
+	addwrite "${QTDIR}/etc/settings"
+
+	# Fix bug 96177: if KDEROOTHOME is defined, the ebuild accesses the real homedir via it, and not our exported $HOME
+	unset KDEHOME
+	unset KDEROOTHOME
+
+	# things that should access the real homedir
+	[[ -d "$REALHOME/.ccache" ]] && ln -sf "$REALHOME/.ccache" "$HOME/"
+
+	while [[ "$1" ]]; do
+
+		case $1 in
+			myconf)
+				debug-print-section myconf
+				if [[ ${CATEGORY} != "kde-base" ]] || [[ ${CATEGORY} == "kde-base" &&  ${PV##*.} -lt 10 ]] ; then
+					myconf+=" --with-x --enable-mitshm $(use_with xinerama) --with-qt-dir=${QTDIR} --enable-mt --with-qt-libraries=${QTDIR}/$(get_libdir)"
+				else
+					myconf+=" --with-qt-dir=${QTDIR} --enable-mt --with-qt-libraries=${QTDIR}/$(get_libdir)"
+				fi
+				# calculate dependencies separately from compiling, enables ccache to work on kde compiles
+				myconf="$myconf --disable-dependency-tracking"
+				if use debug ; then
+					myconf="$myconf --enable-debug=full --with-debug"
+				else
+					myconf="$myconf --disable-debug --without-debug"
+				fi
+				if hasq kdeenablefinal ${IUSE}; then
+					myconf="$myconf $(use_enable kdeenablefinal final)"
+				fi
+				if [[ ${ARTS_REQUIRED} == "never" ]]; then
+					myconf="$myconf --without-arts"
+				elif [[ ${ARTS_REQUIRED} != 'yes' && ${PN} != "arts" ]]; then
+					# This might break some external package until
+					# ARTS_REQUIRED="yes" is set on them, KDE 3.2 is no more
+					# supported anyway.
+					myconf="$myconf $(use_with arts)"
+				fi
+				debug-print "$FUNCNAME: myconf: set to ${myconf}"
+				;;
+			configure)
+				debug-print-section configure
+				debug-print "$FUNCNAME::configure: myconf=$myconf"
+
+				export WANT_AUTOMAKE
+
+				# rebuild configure script, etc
+				# This can happen with e.g. a cvs snapshot
+				if [[ ! -f "./configure" ]]; then
+					# This is needed to fix building with autoconf 2.60.
+					# Many thanks to who preferred such a stupid check rather
+					# than a working arithmetic comparison.
+					if [[ -f admin/cvs.sh ]]; then
+						sed -i -e '/case $AUTO\(CONF\|HEADER\)_VERSION in/,+1 s/2\.5/2.[56]/g' \
+							admin/cvs.sh
+					fi
+
+					# Replace the detection script with a dummy, let our wrappers do the work
+					if [[ -f admin/detect-autoconf.sh ]]; then
+						cat - > admin/detect-autoconf.sh <<EOF
+#!/bin/sh
+export AUTOCONF="autoconf"
+export AUTOHEADER="autoheader"
+export AUTOM4TE="autom4te"
+export AUTOMAKE="automake"
+export ACLOCAL="aclocal"
+export WHICH="which"
+EOF
+					fi
+
+					# Make build succeed with >=autoconf-2.65, see http://tinyurl.com/yc4nbhq
+					if [[ -f admin/acinclude.m4.in ]] && \
+						[[ ! -f ${T}/acinclude.m4.in ]]; then
+						cp admin/acinclude.m4.in "${T}"
+						einfo "Patching admin/acinclude.m4.in"
+						patch -f --ignore-whitespace admin/acinclude.m4.in <<'EOF'
+--- admin/acinclude.m4.in
++++ admin/acinclude.m4.in
+@@ -3081,6 +3081,13 @@
+ fi
+ ])
+
++AC_DEFUN([GENTOO_DUMMY_CFLAGS],
++[
++  dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
++  CFLAGS=" $CFLAGS"
++])
++AC_BEFORE([GENTOO_DUMMY_CFLAGS],[AC_PROG_CC])
++
+ AC_DEFUN([AC_CHECK_COMPILERS],
+ [
+   AC_ARG_ENABLE(debug,
+@@ -3141,12 +3148,10 @@
+	 [kde_use_profiling="no"]
+   )
+
+-  dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
+-  CFLAGS=" $CFLAGS"
+-
+-  AC_PROG_CC
++  AC_REQUIRE([GENTOO_DUMMY_CFLAGS])
++  AC_REQUIRE([AC_PROG_CC])
+
+-  AC_PROG_CPP
++  AC_REQUIRE([AC_PROG_CPP])
+
+   if test "$GCC" = "yes"; then
+	 if test "$kde_use_debug_code" != "no"; then
+@@ -3176,7 +3181,7 @@
+
+   CXXFLAGS=" $CXXFLAGS"
+
+-  AC_PROG_CXX
++  AC_REQUIRE([AC_PROG_CXX])
+
+   KDE_CHECK_FOR_BAD_COMPILER
+
+EOF
+						if [[ $? != 0 ]]; then
+							ewarn "Failed to patch admin/acinclude.m4.in"
+							cp "${T}/acinclude.m4.in" admin/acinclude.m4.in
+						fi
+					fi
+					for x in Makefile.cvs admin/Makefile.common; do
+						if [[ -f "$x" && -z "$makefile" ]]; then makefile="$x"; fi
+					done
+					if [[ -f "$makefile" ]]; then
+						debug-print "$FUNCNAME: configure: generating configure script, running make -f $makefile"
+						emake -f $makefile
+					fi
+					[[ -f "./configure" ]] || die "no configure script found, generation unsuccessful"
+				fi
+
+				export PATH="${KDEDIR}/bin:${PATH}"
+
+				# configure doesn't need to know about the other KDEs installed.
+				# in fact, if it does, it sometimes tries to use the wrong dcopidl, etc.
+				# due to the messed up way configure searches for things
+				export KDEDIRS="${PREFIX}:${KDEDIR}"
+
+				# Visiblity stuff is broken. Just disable it when it's present.
+				export kde_cv_prog_cxx_fvisibility_hidden=no
+
+				if hasq kdehiddenvisibility ${IUSE} && use kdehiddenvisibility; then
+					if [[ $(gcc-major-version)$(gcc-minor-version) -ge 41 ]]; then
+						if [[ ${PN} != "kdelibs" && ${PN} != "arts" ]] && \
+							! fgrep -q "#define __KDE_HAVE_GCC_VISIBILITY" "${KDEDIR}/include/kdemacros.h"; then
+
+							eerror "You asked to enable hidden visibility, but your kdelibs was"
+							eerror "built without its support. Please rebuild kdelibs with the"
+							eerror "kdehiddenvisibility useflag enabled."
+							die "kdelibs without hidden visibility"
+						else
+							unset kde_cv_prog_cxx_fvisibility_hidden
+							myconf="$myconf $(use_enable kdehiddenvisibility gcc-hidden-visibility)"
+						fi
+					else
+						eerror "You're trying to enable hidden visibility, but"
+						eerror "you are using an old GCC version. Hidden visibility"
+						eerror "can be enabled only with GCC 4.1 and later."
+					fi
+				fi
+
+				# If we're in a kde-base ebuild, set the prefixed directories to
+				# override the ones set by econf.
+				if [[ -n ${PREFIX} && ${PREFIX} != "/usr" ]]; then
+					myconf="${myconf} --prefix=${PREFIX}
+						--mandir=${PREFIX}/share/man
+						--infodir=${PREFIX}/share/info
+						--datadir=${PREFIX}/share
+						--sysconfdir=${PREFIX}/etc"
+				fi
+
+				# Use libsuffix to keep KDE happy, the --libdir parameter get
+				# still honored.
+				if [[ $(get_libdir) != "lib" ]] ; then
+					myconf="${myconf} --enable-libsuffix=$(get_libdir | sed s/lib//)"
+				fi
+
+				export PATH="${KDEDIR}/bin:${PATH}"
+
+				# The configure checks for kconfig_compiler do not respect PATH
+				export KCONFIG_COMPILER="${KDEDIR}/bin/kconfig_compiler"
+
+				# Sometimes it doesn't get the include and library paths right,
+				# so hints them.
+				if [[ -z ${PREFIX} || ${PREFIX} != ${KDEDIR} ]]; then
+					myconf="${myconf} --with-extra-includes=${KDEDIR}/include
+						--with-extra-libs=${KDEDIR}/$(get_libdir)"
+				fi
+
+				if grep "cope with newer libtools" "${KDE_S}/admin/ltconfig" &> /dev/null; then
+					einfo "Removing the dummy ltconfig file."
+					rm "${KDE_S}/admin/ltconfig"
+				fi
+
+				use elibc_FreeBSD && myconf="${myconf} --disable-pie"
+
+				elibtoolize
+				econf ${myconf}
+
+				# Seems ./configure add -O2 by default but hppa don't want that but we need -ffunction-sections
+				if [[ "${ARCH}" = "hppa" ]]
+				then
+					einfo "Fixing Makefiles"
+					find "${KDE_S}" -name Makefile -print0 | xargs -0 sed -i -e \
+						's:-O2:-ffunction-sections:g'
+				fi
+				;;
+			all)
+				debug-print-section all
+				kde_src_configure myconf configure
+				;;
+		esac
+
+	shift
+	done
+
+}
+# @FUNCTION: kde_src_compile
+# @USAGE: [ myconf ] [ configure ] [ make ] [ all ]
+# @DESCRIPTION:
+# This function compiles the sources. It takes care of "cannot write to .kde
+# or .qt"-problem due to sandbox and some other sandbox issues.
+#
+# If no argument is given, all is assumed.
+kde_src_compile() {
+	debug-print-function $FUNCNAME "$@"
+
+	[[ -z "$1" ]] && kde_src_compile all
+
+	[[ -z "${KDE_S}" ]] && KDE_S="${S}"
+	cd "${KDE_S}"
+	while [[ "$1" ]]; do
+		case $1 in
+			make)
+				debug-print-section make
+				emake || die "died running emake, $FUNCNAME:make"
+				;;
+			all)
+				case ${EAPI:-0} in
+					0|1) kde_src_configure all ;;
+				esac
+				kde_src_compile make
+				;;
+			*)
+				case ${EAPI:-0} in
+					0|1) kde_src_configure $1 ;;
+				esac
+			;;
+		esac
+
+		shift
+	done
+}
+
+# @FUNCTION: kde_src_install
+# @USAGE: [ make ] [ dodoc ] [ all ]
+# @DESCRIPTION:
+# This installs the software, including the right handling of the
+# "/usr/share/doc/kde"-dir, but it only installs AUTHORS, ChangeLog*, README*,
+# NEWS, and TODO (if available) as docs.
+#
+# If no argument is given, all is assumed
+kde_src_install() {
+	debug-print-function $FUNCNAME "$@"
+
+	[[ -z "$1" ]] && kde_src_install all
+
+	[[ -z ${KDE_S} ]] && KDE_S="${S}"
+	cd "${KDE_S}"
+
+	# Ensure that KDE binaries take precedence
+	export PATH="${KDEDIR}/bin:${PATH}"
+
+	while [[ "$1" ]]; do
+
+		case $1 in
+			make)
+				debug-print-section make
+				emake install DESTDIR="${D}" destdir="${D}" || die "died running make install, $FUNCNAME:make"
+				;;
+			dodoc)
+				debug-print-section dodoc
+				for doc in AUTHORS ChangeLog* README* NEWS TODO; do
+					[[ -s "$doc" ]] && dodoc $doc
+				done
+				;;
+			all)
+				debug-print-section all
+				kde_src_install make dodoc
+				;;
+		esac
+
+	shift
+	done
+
+	if [[ -n ${KDEBASE} && "${PN}" != "arts" && -d "${D}"/usr/share/doc/${PF} ]]; then
+		# work around bug #97196
+		dodir /usr/share/doc/kde && \
+			mv "${D}"/usr/share/doc/${PF} "${D}"/usr/share/doc/kde/ || \
+			die "Failed to move docs to kde/ failed."
+	fi
+}
+
+# @FUNCTION: slot_rebuild
+# @USAGE: [ list_of_packages_to_check ]
+# @RETURN: False, if no rebuild is required
+# @DESCRIPTION:
+# Unneeded and therefore deprecated for a long, long time now. Ebuilds are still
+# referencing it, so replacing with a stub.
+# Looks for packages in the supplied list of packages which have not been linked
+# against this kde SLOT. It does this by looking for lib*.la files that doesn't
+# contain the current ${KDEDIR}. If it finds any thus broken packages it prints
+# eerrors and return True.
+#
+# Thanks to Carsten Lohrke in bug 98425.
+slot_rebuild() {
+	:
+}
+
+# @FUNCTION: kde_pkg_preinst
+# @DESCRIPTION:
+# Calls postprocess_desktop_entries
+kde_pkg_preinst() {
+	postprocess_desktop_entries
+}
+
+# @FUNCTION: kde_pkg_postinst
+# @DESCRIPTION:
+# Calls buildsycoca
+kde_pkg_postinst() {
+	buildsycoca
+}
+
+# @FUNCTION: kde_pkg_postrm
+# @DESCRIPTION:
+# Calls buildsycoca
+kde_pkg_postrm() {
+	buildsycoca
+}
+
+case ${EAPI:-0} in
+	0|1) EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_preinst;;
+	2) EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_postinst pkg_postrm pkg_preinst;;
+esac

Added: trunk/overlays/proaudio/eclass/qt3.eclass
===================================================================
--- trunk/overlays/proaudio/eclass/qt3.eclass	                        (rev 0)
+++ trunk/overlays/proaudio/eclass/qt3.eclass	2011-04-16 22:42:24 UTC (rev 1925)
@@ -0,0 +1,141 @@
+# Copyright 2005-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/qt3.eclass,v 1.41 2009/05/17 15:17:03 hwoarang Exp $
+
+# @ECLASS: qt3.eclass
+# @MAINTAINER:
+# kde-sunset overlay maintainers
+# @BLURB: Eclass for Qt3 packages
+# @DESCRIPTION:
+# This eclass contains various functions that may be useful
+# when dealing with packages using Qt3 libraries.
+
+inherit toolchain-funcs versionator eutils
+
+QTPKG="x11-libs/qt-"
+QT3MAJORVERSIONS="3.3 3.2 3.1 3.0"
+QT3VERSIONS="3.3.8b-r1 3.3.8b 3.3.8-r4 3.3.8-r3 3.3.8-r2 3.3.8-r1 3.3.8 3.3.6-r5 3.3.6-r4 3.3.6-r3 3.3.6-r2 3.3.6-r1 3.3.6 3.3.5-r1 3.3.5 3.3.4-r9 3.3.4-r8 3.3.4-r7 3.3.4-r6 3.3.4-r5 3.3.4-r4 3.3.4-r3 3.3.4-r2 3.3.4-r1 3.3.4 3.3.3-r3 3.3.3-r2 3.3.3-r1 3.3.3 3.3.2 3.3.1-r2 3.3.1-r1 3.3.1 3.3.0-r1 3.3.0 3.2.3-r1 3.2.3 3.2.2-r1 3.2.2 3.2.1-r2 3.2.1-r1 3.2.1 3.2.0 3.1.2-r4 3.1.2-r3 3.1.2-r2 3.1.2-r1 3.1.2 3.1.1-r2 3.1.1-r1 3.1.1 3.1.0-r3 3.1.0-r2 3.1.0-r1 3.1.0"
+
+if [[ -z "${QTDIR}" ]]; then
+	export QTDIR="/usr/qt/3"
+fi
+
+addwrite "${QTDIR}/etc/settings"
+addpredict "${QTDIR}/etc/settings"
+
+# @FUNCTION: qt_min_version
+# @USAGE: [minimum version]
+# @DESCRIPTION:
+# This function is deprecated. Use slot dependencies instead.
+qt_min_version() {
+	local list=$(qt_min_version_list "$@")
+	ewarn "${CATEGORY}/${PF}: qt_min_version() is deprecated. Use slot dependencies instead."
+	if [[ ${list%% *} == "${list}" ]]; then
+		echo "${list}"
+	else
+		echo "|| ( ${list} )"
+	fi
+}
+
+qt_min_version_list() {
+	local MINVER="$1"
+	local VERSIONS=""
+
+	case "${MINVER}" in
+		3|3.0|3.0.0) VERSIONS="=${QTPKG}3*";;
+		3.1|3.1.0|3.2|3.2.0|3.3|3.3.0)
+			for x in ${QT3MAJORVERSIONS}; do
+				if $(version_is_at_least "${MINVER}" "${x}"); then
+					VERSIONS="${VERSIONS} =${QTPKG}${x}*"
+				fi
+			done
+			;;
+		3*)
+			for x in ${QT3VERSIONS}; do
+				if $(version_is_at_least "${MINVER}" "${x}"); then
+					VERSIONS="${VERSIONS} =${QTPKG}${x}"
+				fi
+			done
+			;;
+		*) VERSIONS="=${QTPKG}3*";;
+	esac
+
+	echo ${VERSIONS}
+}
+
+# @FUNCTION: eqmake3
+# @USAGE: [.pro file] [additional parameters to qmake]
+# @MAINTAINER:
+# Przemyslaw Maciag <troll@xxxxxxxxxx>
+# Davide Pesavento <davidepesa@xxxxxxxxx>
+# @DESCRIPTION:
+# Runs qmake on the specified .pro file (defaults to
+# ${PN}.pro if eqmake3 was called with no argument).
+# Additional parameters are passed unmodified to qmake.
+eqmake3() {
+	local LOGFILE="${T}/qmake-$$.out"
+	local projprofile="${1}"
+	[[ -z ${projprofile} ]] && projprofile="${PN}.pro"
+	shift 1
+
+	ebegin "Processing qmake ${projprofile}"
+
+	# file exists?
+	if [[ ! -f ${projprofile} ]]; then
+		echo
+		eerror "Project .pro file \"${projprofile}\" does not exist"
+		eerror "qmake cannot handle non-existing .pro files"
+		echo
+		eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"
+		echo
+		die "Project file not found in ${PN} sources"
+	fi
+
+	echo >> ${LOGFILE}
+	echo "******  qmake ${projprofile}  ******" >> ${LOGFILE}
+	echo >> ${LOGFILE}
+
+	# some standard config options
+	local configoptplus="CONFIG += no_fixpath"
+	local configoptminus="CONFIG -="
+	if has debug ${IUSE} && use debug; then
+		configoptplus="${configoptplus} debug"
+		configoptminus="${configoptminus} release"
+	else
+		configoptplus="${configoptplus} release"
+		configoptminus="${configoptminus} debug"
+	fi
+
+	${QTDIR}/bin/qmake ${projprofile} \
+		QTDIR=${QTDIR} \
+		QMAKE=${QTDIR}/bin/qmake \
+		QMAKE_CC=$(tc-getCC) \
+		QMAKE_CXX=$(tc-getCXX) \
+		QMAKE_LINK=$(tc-getCXX) \
+		QMAKE_CFLAGS_RELEASE="${CFLAGS}" \
+		QMAKE_CFLAGS_DEBUG="${CFLAGS}" \
+		QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \
+		QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \
+		QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \
+		QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \
+		"${configoptminus}" \
+		"${configoptplus}" \
+		QMAKE_RPATH= \
+		QMAKE_STRIP= \
+		${@} >> ${LOGFILE} 2>&1
+
+	local result=$?
+	eend ${result}
+
+	# was qmake successful?
+	if [[ ${result} -ne 0 ]]; then
+		echo
+		eerror "Running qmake on \"${projprofile}\" has failed"
+		echo
+		eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"
+		echo
+		die "qmake failed on ${projprofile}"
+	fi
+
+	return ${result}
+}


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/