public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2008-05-15 19:49 Ingmar Vanhassel (ingmar)
  0 siblings, 0 replies; 22+ messages in thread
From: Ingmar Vanhassel (ingmar) @ 2008-05-15 19:49 UTC (permalink / raw
  To: gentoo-commits

ingmar      08/05/15 19:49:33

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Eclass updates for KDE 4.0.4, thanks to Bo Ørsted Andresen & Jorge Manuel B. S. Vicetto.

Revision  Changes    Path
1.11                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.11&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.11&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.10&r2=1.11

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- kde4-base.eclass	14 Apr 2008 13:23:14 -0000	1.10
+++ kde4-base.eclass	15 May 2008 19:49:32 -0000	1.11
@@ -1,6 +1,6 @@
 # Copyright 2007-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.10 2008/04/14 13:23:14 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.11 2008/05/15 19:49:32 ingmar Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -18,18 +18,15 @@
 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
 
 kde4-base_set_qt_dependencies() {
-	local qt qtcore qtgui qt3support qtsvg qttest qtopengl qtdepend qtopengldepend
+	local qt qtcore qtgui qt3support qtdepend qtopengldepend
 
 	# use dependencies
 	case "${EAPI}" in
 		kdebuild-1)
-		qt="[accessibility][dbus][debug?][gif][jpeg][png][qt3support][ssl][zlib]"
-		qtcore="[debug?][qt3support][ssl]"
-		qtgui="[accessibility][dbus][debug?]"
-		qt3support="[accessibility][debug?]"
-		qtsvg="[debug?]"
-		qttest="[debug?]"
-		qtopengl="[debug?]"
+		qt="[accessibility][dbus][gif][jpeg][png][qt3support][ssl][zlib]"
+		qtcore="[qt3support][ssl]"
+		qtgui="[accessibility][dbus]"
+		qt3support="[accessibility]"
 		case "${OPENGL_REQUIRED}" in
 			always)
 			qt="${qt}[opengl]"
@@ -46,9 +43,10 @@
 		x11-libs/qt-core:4${qtcore}
 		x11-libs/qt-gui:4${qtgui}
 		x11-libs/qt-qt3support:4${qt3support}
-		x11-libs/qt-svg:4${qtsvg}
-		x11-libs/qt-test:4${qttest}"
-	qtopengldepend="x11-libs/qt-opengl:4${qtopengl}"
+		x11-libs/qt-script:4
+		x11-libs/qt-svg:4
+		x11-libs/qt-test:4"
+	qtopengldepend="x11-libs/qt-opengl:4"
 
 	# allow monolithic qt for PV < 4.1
 	case "${PV}" in
@@ -290,35 +288,28 @@
 
 	case "${EAPI}" in
 		kdebuild-1)
-		[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK} ]] && \
+		[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
 			die "built_with_use illegal in this EAPI!"
 		;;
 		*)
+		# Make KDE4_BUILT_WITH_USE_CHECK an array if it isn't already
+		local line kde4_built_with_use_check=()
+		if [[ -n ${KDE4_BUILT_WITH_USE_CHECK[@]} && $(declare -p KDE4_BUILT_WITH_USE_CHECK) != 'declare -a '* ]]; then
+			while read line; do
+				[[ -z ${line} ]] && continue
+				kde4_built_with_use_check+=("${line}")
+			done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
+			KDE4_BUILT_WITH_USE_CHECK="${kde4_built_with_use_check[@]}"
+		fi
+
 		# KDE4 applications require qt4 compiled with USE="accessibility dbus gif jpeg png qt3support ssl zlib".
 		if has_version '<x11-libs/qt-4.4_alpha:4'; then
 			QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} accessibility dbus gif jpeg png qt3support ssl zlib"
 		else
-			KDE4_BUILT_WITH_USE_CHECK="${KDE4_BUILT_WITH_USE_CHECK}
-				x11-libs/qt-core qt3support ssl
-				x11-libs/qt-gui accessibility dbus
-				x11-libs/qt-qt3support accessibility"
-		fi
-
-		if has debug ${IUSE//+} && use debug; then
-			if has_version '<x11-libs/qt-4.4.0_alpha:4'; then
-				QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} debug"
-			else
-				KDE4_BUILT_WITH_USE_CHECK="${KDE4_BUILT_WITH_USE_CHECK}
-					x11-libs/qt-core:4 debug
-					x11-libs/qt-gui:4 debug
-					x11-libs/qt-qt3support:4 debug
-					x11-libs/qt-svg:4 debug
-					x11-libs/qt-test:4 debug"
-				if has opengl ${IUSE//+} && use opengl || [[ ${OPENGL_REQUIRED} == always ]]; then
-					KDE4_BUILT_WITH_USE_CHECK="${KDE4_BUILT_WITH_USE_CHECK}
-						x11-libs/qt-opengl:4 debug"
-				fi
-			fi
+			KDE4_BUILT_WITH_USE_CHECK=("${KDE4_BUILT_WITH_USE_CHECK[@]}"
+				"x11-libs/qt-core qt3support ssl"
+				"x11-libs/qt-gui accessibility dbus"
+				"x11-libs/qt-qt3support accessibility")
 		fi
 
 		if has opengl ${IUSE//+} && use opengl || [[ ${OPENGL_REQUIRED} == always ]]; then



1.6                  eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.6&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.6&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.5&r2=1.6

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- kde4-functions.eclass	4 Apr 2008 22:15:24 -0000	1.5
+++ kde4-functions.eclass	15 May 2008 19:49:32 -0000	1.6
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.5 2008/04/04 22:15:24 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.6 2008/05/15 19:49:32 ingmar Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -81,6 +81,7 @@
 kde-base/kdebase kde-base/kdesu
 kde-base/kdebase kde-base/kfile
 kde-base/kdebase kde-base/khelpcenter
+kde-base/kdebase kde-base/kiconfinder
 kde-base/kdebase kde-base/kioclient
 kde-base/kdebase kde-base/kmimetypefinder
 kde-base/kdebase kde-base/knetattach
@@ -97,6 +98,7 @@
 kde-base/kdebase kde-base/kurifilter-plugins
 kde-base/kdebase kde-base/nepomuk
 kde-base/kdebase kde-base/phonon
+kde-base/kdebase kde-base/solid-hardware
 kde-base/kdebase kde-base/soliduiserver
 kde-base/kdebase kde-base/kcheckpass
 kde-base/kdebase kde-base/kcminit
@@ -155,11 +157,13 @@
 kde-base/kdeedu kde-base/libkdeedu
 kde-base/kdeedu kde-base/marble
 kde-base/kdeedu kde-base/parley
+kde-base/kdeedu kde-base/step
 kde-base/kdegames kde-base/bovo
 kde-base/kdegames kde-base/katomic
 kde-base/kdegames kde-base/kbattleship
 kde-base/kdegames kde-base/kblackbox
 kde-base/kdegames kde-base/kbounce
+kde-base/kdegames kde-base/kdiamond
 kde-base/kdegames kde-base/kfourinline
 kde-base/kdegames kde-base/kgoldrunner
 kde-base/kdegames kde-base/kiriki
@@ -169,6 +173,7 @@
 kde-base/kdegames kde-base/kmines
 kde-base/kdegames kde-base/knetwalk
 kde-base/kdegames kde-base/kolf
+kde-base/kdegames kde-base/kollision
 kde-base/kdegames kde-base/konquest
 kde-base/kdegames kde-base/kpat
 kde-base/kdegames kde-base/kreversi
@@ -178,6 +183,7 @@
 kde-base/kdegames kde-base/ksquares
 kde-base/kdegames kde-base/ksudoku
 kde-base/kdegames kde-base/ktuberling
+kde-base/kdegames kde-base/kubrick
 kde-base/kdegames kde-base/libkdegames
 kde-base/kdegames kde-base/libkmahjongg
 kde-base/kdegames kde-base/lskat
@@ -192,6 +198,7 @@
 kde-base/kdegraphics kde-base/libkscan
 kde-base/kdegraphics kde-base/okular
 kde-base/kdegraphics kde-base/svgpart
+kde-base/kdemultimedia kde-base/dragonplayer
 kde-base/kdemultimedia kde-base/juk
 kde-base/kdemultimedia kde-base/kdemultimedia-kioslaves
 kde-base/kdemultimedia kde-base/kmix
@@ -270,10 +277,8 @@
 kde-base/kdeutils kde-base/kcharselect
 kde-base/kdeutils kde-base/kdessh
 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/kmilo
 kde-base/kdeutils kde-base/kregexpeditor
@@ -351,7 +356,7 @@
 buildsycoca() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if [[ -x ${KDEDIR}/bin/kbuildsycoca4 ]] && [[ -z "${ROOT}" || "${ROOT}" == "/" ]]; then
+	if [[ -x ${KDEDIR}/bin/kbuildsycoca4 && -z "${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
@@ -373,16 +378,16 @@
 
 		ebegin "Running kbuildsycoca4 to build global database"
 		# This is needed because we support multiple kde versions installed together.
-		XDG_DATA_DIRS="/usr/share:${KDEDIRS}/share:/usr/local/share"
+		XDG_DATA_DIRS="/usr/share:${KDEDIRS//:/\/share:}/share:/usr/local/share" \
 		${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
 		eend $?
 
 		echo "Killing dbus session for kbuildsycoca4"
-		debug-print "ADDRES ${DBUS_SESSION_BUS_ADDRESS}"
+		debug-print "ADDRESS ${DBUS_SESSION_BUS_ADDRESS}"
 		debug-print "PID: ${DBUS_SESSION_BUS_PID}"
 		kill ${DBUS_SESSION_BUS_PID}
 		eend $?
-		unset DBUS_SESSION_BUS_ADDRES DBUS_SESSION_BUS_PID
+		unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
 
 		# For some reason this directory gets created with noone other than root
 		# being able to read it. Hence we chmod it.
@@ -397,7 +402,7 @@
 # except the ones in cmake/.
 comment_all_add_subdirectory() {
 	find "$@" -name CMakeLists.txt -print0 | grep -vFzZ "./cmake" | \
-		xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' || \
+		xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' -e '/ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' || \
 		die "${LINENO}: Initial sed died"
 }
 
@@ -424,7 +429,8 @@
 	comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
 	for lingua in ${KDE_LINGUAS}; do
 		if use linguas_${lingua}; then
-			sed -e "/add_subdirectory(\s*${lingua}\s*)\s*$/ s/^#DONOTCOMPILE //" \
+			sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
+				-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 				-i "${KDE_LINGUAS_DIR:-${S}/po}"/CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
 		fi
 	done
@@ -500,16 +506,28 @@
 	QT4_BUILT_WITH_USE_CHECK=$(echo "${QT4_BUILT_WITH_USE_CHECK}" | \
 		tr '[:space:]' '\n' | sort | xargs)
 
-	KDE4_BUILT_WITH_USE_CHECK="x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}
+	local line missing
+	if [[ -n ${KDE4_BUILT_WITH_USE_CHECK[@]} && $(declare -p KDE4_BUILT_WITH_USE_CHECK) = 'declare -a '* ]]; then
+		KDE4_BUILT_WITH_USE_CHECK=("x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}"
+			"${KDE4_BUILT_WITH_USE_CHECK[@]}")
+
+		for line in "${KDE4_BUILT_WITH_USE_CHECK[@]}"; do
+			[[ -z ${line} ]] && continue
+			if ! _kde4-functions_built_with_use ${line}; then
+				missing=true
+			fi
+		done
+	else
+		KDE4_BUILT_WITH_USE_CHECK="x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}
 				${KDE4_BUILT_WITH_USE_CHECK}"
 
-	local line missing
-	while read line; do
-		[[ -z ${line} ]] && continue
-		if ! _kde4-functions_built_with_use ${line}; then
-			missing=true
-		fi
-	done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
+		while read line; do
+			[[ -z ${line} ]] && continue
+			if ! _kde4-functions_built_with_use ${line}; then
+				missing=true
+			fi
+		done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
+	fi
 	if [[ -n ${missing} ]]; then
 		echo
 		eerror "Flags marked with an * are missing."



1.6                  eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.6&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.6&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.5&r2=1.6

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- kde4-meta.eclass	13 Mar 2008 17:57:51 -0000	1.5
+++ kde4-meta.eclass	15 May 2008 19:49:32 -0000	1.6
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.5 2008/03/13 17:57:51 ingmar Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.6 2008/05/15 19:49:32 ingmar Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -28,15 +28,16 @@
 				LICENSE="GPL-2" ;;
 	koffice)	HOMEPAGE="http://www.koffice.org/"
 				LICENSE="GPL-2" ;;
-	*)			die "KDEBASE=${KDEBASE} is unsupported." ;;
 esac
 
 debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - before blockers"
 debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - before blockers"
 
 # Add a blocker on the package we're derived from
-DEPEND="${DEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
-RDEPEND="${RDEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
+if [[ -n ${KDEBASE} ]]; then
+	DEPEND="${DEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
+	RDEPEND="${RDEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
+fi
 
 debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after blockers"
 debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after blockers"
@@ -48,6 +49,8 @@
 		RDEPEND="${RDEPEND} >=kde-base/qimageblitz-0.0.4"
 	;;
 	kdepim)
+		DEPEND="${DEPEND} dev-libs/boost"
+		RDEPEND="${RDEPEND} dev-libs/boost"
 		if [[ ${PN} != kode ]]; then
 			DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}"
 			RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}"
@@ -141,13 +144,6 @@
 kde4-meta_src_unpack() {
 	debug-print-function  ${FUNCNAME} "$@"
 
-	if [[ ${KMNAME} = kdepim ]] && \
-		has kontact ${IUSE//+} && \
-		use kontact; then
-			KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
-			KMEXTRACTONLY="${KMEXTRACTONLY} kontact/interfaces/"
-	fi
-
 	kde4-meta_src_extract
 	kde4-meta_change_cmakelists
 }
@@ -233,6 +229,14 @@
 				libkdegames"
 		fi
 		;;
+		kdepim)
+		KMEXTRACTONLY="${KMEXTRACTONLY}
+			kleopatra/ConfigureChecks.cmake"
+		if has kontact ${IUSE//+} && use kontact; then
+			KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
+			KMEXTRACTONLY="${KMEXTRACTONLY} kontact/interfaces/"
+		fi
+		;;
 		koffice)
 			KMEXTRACTONLY="${KMEXTRACTONLY}
 				config-endian.h.cmake
@@ -298,8 +302,8 @@
 	debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME} - kmcompileonly_expanded: ${kmcompileonly_expanded}"
 
 
-	case ${NEED_KDE} in
-		svn) : ;;
+	case ${PV} in
+		scm|9999.4) : ;;
 		*) topdir="${KMNAME}-${PV}/" ;;
 	esac
 
@@ -313,6 +317,35 @@
 	echo ${extractlist}
 }
 
+save_library_dependencies() {
+	local depsfile="${T}/${PN}:${SLOT}"
+
+	echo "Saving library dependendencies in ${depsfile##*/}"
+	echo "EXPORT_LIBRARY_DEPENDENCIES(\"${depsfile}\")" >> "${S}/CMakeLists.txt" || \
+		die "Failed to save the library dependencies."
+}
+
+install_library_dependencies() {
+	local depsfile="${T}/${PN}:${SLOT}"
+	echo "Installing library dependendencies as ${depsfile##*/}"
+	insinto /var/lib/kde
+	doins "${depsfile}" || die "Failed to install library dependencies."
+}
+
+load_library_dependencies() {
+	local pn i depsfile
+	echo "Injecting library dependendencies from '${KMLOADLIBS}'"
+
+	i=0
+	for pn in ${KMLOADLIBS} ; do
+		((i++))
+		depsfile="/var/lib/kde/${pn}:${SLOT}"
+		[[ -r "${depsfile}" ]] || die "Depsfile '${depsfile}' not accessible. You probably need to reinstall ${pn}."
+		sed -i -e "${i}iINCLUDE(\"${depsfile}\")" "${S}/CMakeLists.txt" || \
+			die "Failed to include library dependencies for ${pn}"
+	done
+}
+
 # @FUNCTION: kde4-meta_src_compile
 # @DESCRIPTION:
 # General function for compiling split KDE4 applications.
@@ -329,12 +362,13 @@
 	local _olddir _dir
 	_dir="${S}"/${1}
 	until [[ ${_dir} == "${S}" ]]; do
-		_olddir=$(basename ${_dir})
-		_dir=$(dirname ${_dir})
+		_olddir=$(basename "${_dir}")
+		_dir=$(dirname "${_dir}")
 		debug-print "${LINENO}: processing ${_dir} CMakeLists.txt searching for ${_olddir}"
 		if [[ -f ${_dir}/CMakeLists.txt ]]; then
-			sed -i -e "/[[:space:]]*${_olddir}[[:space:]]*/s/^#DONOTCOMPILE //" ${_dir}/CMakeLists.txt || \
-				die "${LINENO}: died in ${FUNCNAME} while processing ${_dir}"
+			sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${_olddir}[[:space:]]*)/s/#DONOTCOMPILE //g" \
+				-e "/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${_olddir}[[:space:]]*)/s/#DONOTCOMPILE //g" \
+				-i ${_dir}/CMakeLists.txt || die "${LINENO}: died in ${FUNCNAME} while processing ${_dir}"
 		fi
 	done
 }
@@ -344,11 +378,21 @@
 
 	pushd "${S}" > /dev/null
 
+	if [[ -n ${KMSAVELIBS} ]] ; then
+		save_library_dependencies
+	fi
+
+	if [[ -n ${KMLOADLIBS} ]] ; then
+		load_library_dependencies
+	fi
+
 	comment_all_add_subdirectory ./
 
 	# Restore "add_subdirectory( cmake )" in ${S}/CMakeLists.txt
 	if [[ -f "${S}"/CMakeLists.txt ]]; then
-		sed -i -e '/ *cmake */s/^#DONOTCOMPILE //' "${S}"/CMakeLists.txt || die "${LINENO}: cmake sed died"
+		sed -e '/add_subdirectory[[:space:]]*([[:space:]]*cmake[[:space:]]*)/s/^#DONOTCOMPILE //' \
+			-e '/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*cmake[[:space:]]*)/s/^#DONOTCOMPILE //' \
+			-i "${S}"/CMakeLists.txt || die "${LINENO}: cmake sed died"
 	fi
 
 	if [[ -z ${KMNOMODULE} ]]; then
@@ -391,30 +435,19 @@
 		fi
 	done
 
-	# Documentation section
-	if [[ -n ${docs} ]]; then
-		sed -i -e '/ *doc */s/^#DONOTCOMPILE //g' "${S}"/CMakeLists.txt || \
-			die "${LINENO}: sed died while uncommenting doc dir"
-
-		if [[ -f "${S}"/doc/CMakeLists.txt ]]; then
-			sed -i -e "/( *${KMMODULE##*/} *)/s/^#DONOTCOMPILE //g" "${S}"/doc/CMakeLists.txt \
-				|| die "${LINENO}: sed died while uncommenting apps documentation in doc subdir "
-		fi
-	fi
-
 	# KMEXTRACTONLY section - Some ebuilds need to comment out some subdirs in KMMODULE and they use KMEXTRACTONLY
 	for i in ${KMEXTRACTONLY}; do
 		if [[ -d "${S}"/${i} && -f "${S}"/${i}/../CMakeLists.txt ]]; then
-			sed -i -e "/( *$(basename $i) *)/s/^/#DONOTCOMPILE /" "${S}"/${i}/../CMakeLists.txt || \
+			sed -i -e "/([[:space:]]*$(basename $i)[[:space:]]*)/s/^/#DONOTCOMPILE /" "${S}"/${i}/../CMakeLists.txt || \
 				die "${LINENO}: sed died while working in the KMEXTRACTONLY section while processing ${i}"
 		fi
 	done
 
-	# COLLISION PROTECT section
-	# Only install the startkde script as part of kde-base/kdebase-startkde,
-	# instead of with every package.
 	case ${KMNAME} in
 		kdebase-workspace)
+		# COLLISION PROTECT section
+		# Only install the startkde script as part of kde-base/kdebase-startkde,
+		# instead of with every package.
 		if [[ ${PN} != "kdebase-startkde" && -f "${S}"/CMakeLists.txt ]]; then
 			case ${PV} in
 				*) # The startkde script moved to kdebase-workspace for KDE4 versions > 3.93.0.
@@ -424,11 +457,28 @@
 			esac
 		fi
 		;;
+		kdebase-runtime)
+		# COLLISION PROTECT section
+		# Only install the kde4 script as part of kde-base/kdebase-data
+		if [[ ${PN} != "kdebase-data" && -f "${S}"/CMakeLists.txt ]]; then
+			sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
+				"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
+		fi
+		;;
+		kdepim)
+		case ${PN} in
+			kaddressbook|kmailcvt|kontact|korganizer)
+			sed -i -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
+				-e '/add_custom_target(kmail_xml /,/)/p' "${S}"/kmail/CMakeLists.txt || die "uncommenting xml failed"
+			_change_cmakelists_parent_dirs kmail
+			;;
+		esac
+		;;
+		kdeutils)
 		# This is sort of a hack to avoid patching 16 kdeutils packages with
 		# r775410 from upstream trunk which makes blitz optional so superkaramba
 		# only gets compiled when it is found. Bug #209324. Remove this no later
 		# than 4.1.
-		kdeutils)
 		if [[ ${PN} != superkaramba && ${SLOT} == kde-4 ]]; then
 			sed -i -e '/find_package(Blitz REQUIRED)/d' "${S}"/CMakeLists.txt \
 				|| die "${LINENO}: sed to remove dependency on Blitz failed."
@@ -484,6 +534,10 @@
 
 	kde4-meta_src_make_doc
 	cmake-utils_src_install
+
+	if [[ -n ${KMSAVELIBS} ]] ; then
+		install_library_dependencies
+	fi
 }
 
 # @FUNCTION: kde4-meta_src_make_doc



-- 
gentoo-commits@lists.gentoo.org mailing list



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2008-10-02  6:49 Jorge Manuel B. S. Vicetto (jmbsvicetto)
  0 siblings, 0 replies; 22+ messages in thread
From: Jorge Manuel B. S. Vicetto (jmbsvicetto) @ 2008-10-02  6:49 UTC (permalink / raw
  To: gentoo-commits

jmbsvicetto    08/10/02 06:49:02

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Bumped kde4 eclasses.
  Add kde-4.1.2 into the tree from the kde-testing overlay.

Revision  Changes    Path
1.13                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.13&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.13&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.12&r2=1.13

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- kde4-base.eclass	17 May 2008 14:09:03 -0000	1.12
+++ kde4-base.eclass	2 Oct 2008 06:49:02 -0000	1.13
@@ -1,40 +1,51 @@
 # Copyright 2007-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.12 2008/05/17 14:09:03 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.13 2008/10/02 06:49:02 jmbsvicetto Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
 # kde@gentoo.org
-# @BLURB: This eclass provides functions for kde 4.0 ebuilds
+# @BLURB: This eclass provides functions for kde 4.X ebuilds
 # @DESCRIPTION:
 # The kde4-base.eclass provides support for building KDE4 monolithic ebuilds
 # and KDE4 applications.
 #
 # NOTE: This eclass uses the SLOT dependencies from EAPI="1" or compatible,
-# hence you must define EAPI="1" in the ebuild, before inheriting any eclasses.
+# and use deps from EAPI="2", hence you must define EAPI="2" in the ebuild,
+# before inheriting any eclasses.
 
-inherit base eutils multilib cmake-utils kde4-functions
+inherit base cmake-utils eutils kde4-functions multilib
 
-EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+case "${EAPI}" in
+	2)
+		EXPORT_FUNCTIONS pkg_setup src_unpack src_configure src_compile src_test src_install pkg_postinst pkg_postrm
+		;;
+	*)
+		EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+		;;
+esac
 
+# Set the qt dependencies
 kde4-base_set_qt_dependencies() {
 	local qt qtcore qtgui qt3support qtdepend qtopengldepend
 
 	# use dependencies
 	case "${EAPI}" in
-		kdebuild-1)
-		qt="[accessibility][dbus][gif][jpeg][png][qt3support][ssl][zlib]"
-		qtcore="[qt3support][ssl]"
-		qtgui="[accessibility][dbus]"
-		qt3support="[accessibility]"
+		2 | 2_pre3 | 2_pre2 | 2_pre1)
+
+		qt="["
 		case "${OPENGL_REQUIRED}" in
 			always)
-			qt="${qt}[opengl]"
+			qt="${qt}opengl,"
 			;;
 			optional)
-			qt="${qt}[opengl?]"
+			qt="${qt}opengl?,"
 			;;
 		esac
+		qt="${qt}accessibility,dbus,gif,jpeg,png,qt3support,ssl,zlib]"
+		qtcore="[qt3support,ssl]"
+		qtgui="[accessibility,dbus]"
+		qt3support="[accessibility]"
 		;;
 	esac
 
@@ -50,7 +61,7 @@
 
 	# allow monolithic qt for PV < 4.1
 	case "${PV}" in
-		scm|9999.4|4.1*) : ;;
+		scm|9999*|4.1*|4.0.9*|4.0.8*) : ;;
 		*)
 		qtdepend="|| ( ( ${qtdepend} ) >=x11-libs/qt-4.3.3:4${qt} )"
 		qtopengldepend="|| ( ${qtopengldepend} >=x11-libs/qt-4.3.3:4 )"
@@ -77,13 +88,30 @@
 }
 kde4-base_set_qt_dependencies
 
-DEPEND="${DEPEND} ${COMMONDEPEND}
-	>=dev-util/cmake-2.4.7-r1
+# Set the cmake dependencies
+case "${PV}" in
+	9999*)
+		CMAKEDEPEND=">=dev-util/cmake-2.6"
+		;;
+	*)
+		CMAKEDEPEND=">=dev-util/cmake-2.4.7-r1"
+		;;
+esac
+
+# Set the common dependencies
+DEPEND="${DEPEND} ${COMMONDEPEND} ${CMAKEDEPEND}
 	dev-util/pkgconfig
 	x11-libs/libXt
 	x11-proto/xf86vidmodeproto"
 RDEPEND="${RDEPEND} ${COMMONDEPEND}"
 
+# Add the kdeprefix use flag
+case "${EAPI}" in
+	2 | 2_pre3 | 2_pre2 | 2_pre1)
+		IUSE="${IUSE} kdeprefix"
+		;;
+esac
+
 # @ECLASS-VARIABLE: OPENGL_REQUIRED
 # @DESCRIPTION:
 # Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
@@ -144,84 +172,150 @@
 		# Should only be used by 'kde-base'-ebuilds
 		if [[ "${KDEBASE}" == "kde-base" ]]; then
 			case ${PV} in
-				3.9*)	_kdedir="3.9" ;;
-				4*)		_kdedir="4.0" ;;
-				*)		die "NEED_KDE=latest not supported for PV=${PV}" ;;
+				4.1*| 4.0.9* | 4.0.8*)
+					_kdedir="4.1"
+					_pv="-${PV}:4.1" ;;
+				4.0*)
+					_kdedir="4.0"
+					_pv="-${PV}:kde-4" ;;
+				3.9*)
+					_kdedir="3.9"
+					_pv="-${PV}:kde-4" ;;
+				*)
+					die "NEED_KDE=latest not supported for PV=${PV}" ;;
 			esac
 			_operator=">="
-			_pv="-${PV}:kde-4"
 		else
-			_kdedir="4.0"
-			_pv=":kde-4"
+			case ${PV} in
+				4.1 | 4.0.9* | 4.0.8*) _kdedir="4.1" ;;
+				4.0*) _kdedir="4.0" ;;
+				3.9*) _kdedir="3.9" ;;
+				*) die "NEED_KDE=latest not supported for PV=${PV}" ;;
+			esac
 		fi
 		;;
-	scm|svn|9999*|:kde-svn)
-		_kdedir="svn"
-		_pv=":kde-svn"
-		export NEED_KDE="svn"
-		;;
-	*:kde-svn)
+
+	# NEED_KDE=":${SLOT}"
+	:kde-svn)
 		_kdedir="svn"
-		_operator=">="
 		_pv="-${NEED_KDE}"
 		export NEED_KDE="svn"
 		;;
-	# The ebuild handles dependencies, KDEDIR, SLOT.
-	none)
-		:
+	:4.1)
+		_kdedir="4.1"
+		_pv="${NEED_KDE}"
 		;;
-	# NEED_KDE=":${SLOT}"
 	:kde-4)
 		_kdedir="4.0"
 		_pv="${NEED_KDE}"
 		;;
+
 	# NEED_KDE="${PV}:${SLOT}"
+	*:kde-svn)
+		_kdedir="svn"
+		_operator=">="
+		_pv="-${NEED_KDE}"
+		export NEED_KDE="svn"
+		;;
+	*:4.1)
+		_kdedir="4.1"
+		_operator=">="
+		_pv="-${NEED_KDE}"
+		;;
 	*:kde-4)
 		_kdedir="4.0"
 		_operator=">="
 		_pv="-${NEED_KDE}"
 		;;
-	3.9*)
-		_kdedir="3.9"
+
+	# NEED_KDE="${PV}"
+	scm|svn|9999*)
+		_kdedir="svn"
 		_operator=">="
-		_pv="-${NEED_KDE}:kde-4"
+		_pv="-${NEED_KDE}:kde-svn"
+		export NEED_KDE="svn"
+		;;
+	4.1 | 4.0.9* | 4.0.8*)
+		_kdedir="4.1"
+		_operator=">="
+		_pv="-${NEED_KDE}:4.1"
 		;;
-	4*)
+	4.0* | 4)
 		_kdedir="4.0"
 		_operator=">="
 		_pv="-${NEED_KDE}:kde-4"
 		;;
-	*)	die "NEED_KDE=${NEED_KDE} currently not supported."
+	3.9*)
+		_kdedir="3.9"
+		_operator=">="
+		_pv="-${NEED_KDE}:kde-4"
+		;;
+
+	# The ebuild handles dependencies, KDEDIR, SLOT.
+	none)
+		:
+		;;
+
+	*)
+		die "NEED_KDE=${NEED_KDE} currently not supported."
 		;;
 esac
 
 if [[ ${NEED_KDE} != none ]]; then
-	KDEDIR="/usr/kde/${_kdedir}"
-	KDEDIRS="/usr:/usr/local:${KDEDIR}"
 
+	#Set the SLOT
 	if [[ -n ${KDEBASE} ]]; then
 		if [[ ${NEED_KDE} = svn ]]; then
 			SLOT="kde-svn"
 		else
-			SLOT="kde-4"
+			case ${PV} in
+				4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
+				*) SLOT="kde-4" ;;
+			esac
 		fi
 	fi
 
+	# Block install of other SLOTS unless kdeprefix
+	case "${EAPI}" in
+		2 | 2_pre3 | 2_pre2 | 2_pre1)
+			for KDE_SLOT in ${KDE_SLOTS[@]}; do
+				# block non kdeprefix ${PN} on other slots
+				if [[ ${SLOT} != ${KDE_SLOT} ]]; then
+					DEPEND="${DEPEND}
+						!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+					RDEPEND="${RDEPEND}
+						!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+				fi
+			done
+			;;
+	esac
+
 	# We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs"
 	if [[ ${PN} != "kdelibs" ]]; then
-		DEPEND="${DEPEND}
-		${_operator}kde-base/kdelibs${_pv}"
-		RDEPEND="${RDEPEND}
-		${_operator}kde-base/kdelibs${_pv}"
+		case "${EAPI}" in
+			2 | 2_pre3 | 2_pre2 | 2_pre1)
+				DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]"
+				RDEPEND="${RDEPEND}	${_operator}kde-base/kdelibs${_pv}[kdeprefix=]"
+				;;
+			*)
+				DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}"
+				RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}"
+				;;
+		esac
 		if [[ ${PN} != "kdepimlibs" ]]; then
-			DEPEND="${DEPEND}
-			${_operator}kde-base/kdepimlibs${_pv}"
-			RDEPEND="${RDEPEND}
-			${_operator}kde-base/kdepimlibs${_pv}"
+			case "${EAPI}" in
+				2 | 2_pre3 | 2_pre2 | 2_pre1)
+					DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix=]"
+					RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix=]"
+					;;
+				*)
+					DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}"
+					RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}"
+				esac
 		fi
 	fi
 
-	unset _operator _pv _kdedir
+	unset _operator _pv
 fi
 
 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
@@ -237,7 +331,9 @@
 		case ${KDEBASE} in
 			kde-base)
 			case ${PV} in
-			*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2";;
+				4.0.9* | 4.0.8*)
+					SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
+				*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2";;
 			esac
 			;;
 			koffice)
@@ -249,33 +345,16 @@
 fi
 
 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND ${DEPEND} - before blockers"
-
-# Monolithic ebuilds should add blockers for split ebuilds in the same slot.
-# If KMNAME is not set then this is not a split package
-if [[ -n ${KDEBASE} && -z ${KMNAME} ]]; then
-	for _x in $(get-child-packages ${CATEGORY}/${PN}); do
-		DEPEND="${DEPEND} !${_x}:${SLOT}"
-		RDEPEND="${RDEPEND} !${_x}:${SLOT}"
-	done
-	unset _x
-fi
-
-debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND ${DEPEND} - after blockers"
 
 # @ECLASS-VARIABLE: PREFIX
 # @DESCRIPTION:
 # Set the installation PREFIX. All kde-base ebuilds go into the KDE4 installation directory.
 # Applications installed by the other ebuilds go into /usr/ by default, this value
 # can be superseded by defining PREFIX before inheriting kde4-base.
-if [[ -n ${KDEBASE} ]]; then
-	PREFIX=${KDEDIR}
-else
-	# if PREFIX is not defined we set it to the default value of /usr
-	PREFIX="${PREFIX:-/usr}"
-fi
+# This value is set on pkg_setup
+PREFIX=""
 
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - KDEDIR ${KDEDIR} - KDEDIRS ${KDEDIRS}- PREFIX ${PREFIX} - NEED_KDE ${NEED_KDE}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - NEED_KDE ${NEED_KDE}"
 
 # @FUNCTION: kde4-base_pkg_setup
 # @DESCRIPTION:
@@ -286,8 +365,40 @@
 kde4-base_pkg_setup() {
 	debug-print-function $FUNCNAME "$@"
 
+	# Don't set KDEHOME during compile, it will cause access violations
+	unset KDEHOME
+
+	if [[ ${NEED_KDE} != none ]]; then
+
+		# Set PREFIX
+		case "${EAPI}" in
+			2 | 2_pre3 | 2_pre2 | 2_pre1)
+				if use kdeprefix; then
+					KDEDIR="/usr/kde/${_kdedir}"
+					KDEDIRS="/usr:/usr/local:${KDEDIR}"
+				else
+					KDEDIR="/usr"
+					KDEDIRS="/usr:/usr/local"
+				fi
+				;;
+			*)
+				KDEDIR="/usr"
+				KDEDIRS="/usr:/usr/local"
+				;;
+		esac
+	fi
+	
+	if [[ -n ${KDEBASE} ]]; then
+		PREFIX=${KDEDIR}
+	else
+		# if PREFIX is not defined we set it to the default value of /usr
+		PREFIX="${PREFIX:-/usr}"
+	fi
+
+	unset _kdedir
+
 	case "${EAPI}" in
-		kdebuild-1)
+		2 | 2_pre3 | 2_pre2 | 2_pre1)
 		[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
 			die "built_with_use illegal in this EAPI!"
 		;;
@@ -354,7 +465,7 @@
 			_packages="${PN}"
 		fi
 		if [[ $(declare -p PATCHES) != 'declare -a '* ]]; then
-			PATCHES=(${PATCHES})
+			die "PATCHES needs to be an array!"
 		fi
 		for _p in ${_packages}; do
 			for _f in "${_patchdir}"/${_p}-${PV}-*{diff,patch}; do
@@ -418,9 +529,17 @@
 # General function for compiling KDE4 applications.
 kde4-base_src_compile() {
 	debug-print-function ${FUNCNAME} "$@"
-
-	kde4-base_src_configure
-	kde4-base_src_make
+	case "${EAPI}" in
+		2)
+			;;
+		*)
+			kde4-base_src_configure
+			;;
+	esac
+	if [[ -d ${WORKDIR}/${PN}_build ]]; then
+		pushd "${WORKDIR}"/${PN}_build > /dev/null
+	fi
+	[ -e [Mm]akefile ] && kde4-base_src_make
 }
 
 # @FUNCTION: kde4-base_src_configure
@@ -453,11 +572,17 @@
 	# Here we set the install prefix
 	mycmakeargs="${mycmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
 
+	# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
+	[[ "${PREFIX}" == "/usr" ]] && mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
+
 	# Set environment
 	QTEST_COLORED=1
 	QT_PLUGIN_PATH=${KDEDIR}/$(get_libdir)/kde4/plugins/
 
-	cmake-utils_src_configureout
+	# hardcode path to *.cmake KDE files
+	PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
+
+	[ -e CMakeLists.txt ] && cmake-utils_src_configureout
 }
 
 # @FUNCTION: kde4-base_src_make
@@ -490,7 +615,10 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	kde4-base_src_make_doc
-	cmake-utils_src_install
+	if [[ -d ${WORKDIR}/${PN}_build ]]; then
+		pushd "${WORKDIR}"/${PN}_build > /dev/null
+	fi
+	[ -e [Mm]akefile ] && cmake-utils_src_install
 }
 
 # @FUNCTION: kde4-base_src_make_doc



1.8                  eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.8&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.8&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.7&r2=1.8

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- kde4-functions.eclass	17 May 2008 14:09:03 -0000	1.7
+++ kde4-functions.eclass	2 Oct 2008 06:49:02 -0000	1.8
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.7 2008/05/17 14:09:03 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.8 2008/10/02 06:49:02 jmbsvicetto Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -29,6 +29,17 @@
 	KDEBASE="koffice"
 fi
 
+# @ECLASS-VARIABLE: KDE_SLOTS
+# @DESCRIPTION:
+# The slots used by all KDE versions after 4.0 - this doesn't include kde-3.5 and the
+# live-ebuilds that use the following var.
+KDE_SLOTS=( "kde-4" "4.1" )
+
+# @ECLASS-VARIABLE: KDE_LIVE_SLOTS
+# @DESCRIPTION:
+# The slots used by all KDE live versions.
+KDE_LIVE_SLOTS=( "kde-svn" )
+
 # @ECLASS-VARIABLE: KDE_DERIVATION_MAP
 # @DESCRIPTION:
 # Map of the monolithic->split ebuild derivation.
@@ -37,6 +48,20 @@
 #
 # Also see get-parent-package(), get-child-packages(), is-parent-package()
 KDE_DERIVATION_MAP='
+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/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
 kde-base/kdeaccessibility kde-base/kdeaccessibility-colorschemes
 kde-base/kdeaccessibility kde-base/kdeaccessibility-iconthemes
 kde-base/kdeaccessibility kde-base/kmag
@@ -46,6 +71,8 @@
 kde-base/kdeadmin kde-base/kcron
 kde-base/kdeadmin kde-base/kdat
 kde-base/kdeadmin kde-base/knetworkconf
+kde-base/kdeadmin kde-base/kpackage
+kde-base/kdeadmin kde-base/ksystemlog
 kde-base/kdeadmin kde-base/ksysv
 kde-base/kdeadmin kde-base/kuser
 kde-base/kdeadmin kde-base/lilo-config
@@ -60,82 +87,88 @@
 kde-base/kdeartwork kde-base/kdeartwork-styles
 kde-base/kdeartwork kde-base/kdeartwork-wallpapers
 kde-base/kdebase kde-base/dolphin
-kde-base/kdebase kde-base/kappfinder
-kde-base/kdebase kde-base/kdepasswd
-kde-base/kdebase kde-base/kdialog
-kde-base/kdebase kde-base/keditbookmarks
-kde-base/kdebase kde-base/kfind
-kde-base/kdebase kde-base/kinfocenter
-kde-base/kdebase kde-base/konqueror
-kde-base/kdebase kde-base/konsole
-kde-base/kdebase kde-base/kwrite
-kde-base/kdebase kde-base/libkonq
-kde-base/kdebase kde-base/nsplugins
 kde-base/kdebase kde-base/drkonqi
+kde-base/kdebase kde-base/kappfinder
+kde-base/kdebase kde-base/kcheckpass
+kde-base/kdebase kde-base/kcminit
 kde-base/kdebase kde-base/kcmshell
 kde-base/kdebase kde-base/kcontrol
+kde-base/kdebase kde-base/kde-menu
+kde-base/kdebase kde-base/kde-menu-icons
+kde-base/kdebase kde-base/kde-wallpapers
+kde-base/kdebase kde-base/kdebase-cursors
 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/kde-menu
+kde-base/kdebase kde-base/kdepasswd
 kde-base/kdebase kde-base/kdesu
+kde-base/kdebase kde-base/kdialog
+kde-base/kdebase kde-base/kdm
+kde-base/kdebase kde-base/keditbookmarks
 kde-base/kdebase kde-base/kfile
+kde-base/kdebase kde-base/kfind
 kde-base/kdebase kde-base/khelpcenter
+kde-base/kdebase kde-base/khotkeys
 kde-base/kdebase kde-base/kiconfinder
+kde-base/kdebase kde-base/kinfocenter
 kde-base/kdebase kde-base/kioclient
+kde-base/kdebase kde-base/klipper
+kde-base/kdebase kde-base/kmenuedit
 kde-base/kdebase kde-base/kmimetypefinder
 kde-base/kdebase kde-base/knetattach
 kde-base/kdebase kde-base/knewstuff
 kde-base/kdebase kde-base/knotify
+kde-base/kdebase kde-base/konqueror
+kde-base/kdebase kde-base/konsole
 kde-base/kdebase kde-base/kpasswdserver
 kde-base/kdebase kde-base/kquitapp
 kde-base/kdebase kde-base/kreadconfig
-kde-base/kdebase kde-base/kstart
-kde-base/kdebase kde-base/kstyles
-kde-base/kdebase kde-base/ktimezoned
-kde-base/kdebase kde-base/ktraderclient
-kde-base/kdebase kde-base/kuiserver
-kde-base/kdebase kde-base/kurifilter-plugins
-kde-base/kdebase kde-base/nepomuk
-kde-base/kdebase kde-base/phonon
-kde-base/kdebase kde-base/solid-hardware
-kde-base/kdebase kde-base/soliduiserver
-kde-base/kdebase kde-base/kcheckpass
-kde-base/kdebase kde-base/kcminit
-kde-base/kdebase kde-base/kdebase-startkde
-kde-base/kdebase kde-base/kstartupconfig
-kde-base/kdebase kde-base/kde-menu-icons
-kde-base/kdebase kde-base/kde-wallpapers
-kde-base/kdebase kde-base/kdm
-kde-base/kdebase kde-base/khotkeys
-kde-base/kdebase kde-base/klipper
-kde-base/kdebase kde-base/kmenuedit
 kde-base/kdebase kde-base/krunner
 kde-base/kdebase kde-base/kscreensaver
 kde-base/kdebase kde-base/ksmserver
 kde-base/kdebase kde-base/ksplash
+kde-base/kdebase kde-base/kstart
+kde-base/kdebase kde-base/kstartupconfig
+kde-base/kdebase kde-base/kstyles
 kde-base/kdebase kde-base/ksysguard
 kde-base/kdebase kde-base/ksystraycmd
+kde-base/kdebase kde-base/ktimezoned
 kde-base/kdebase kde-base/ktip
+kde-base/kdebase kde-base/ktraderclient
+kde-base/kdebase kde-base/kuiserver
+kde-base/kdebase kde-base/kurifilter-plugins
 kde-base/kdebase kde-base/kwin
+kde-base/kdebase kde-base/kwrite
+kde-base/kdebase kde-base/libkonq
 kde-base/kdebase kde-base/libkworkspace
 kde-base/kdebase kde-base/libplasma
 kde-base/kdebase kde-base/libtaskmanager
+kde-base/kdebase kde-base/nepomuk
+kde-base/kdebase kde-base/nsplugins
+kde-base/kdebase kde-base/phonon
+kde-base/kdebase kde-base/phonon-xine
 kde-base/kdebase kde-base/plasma
+kde-base/kdebase kde-base/plasma-apps
+kde-base/kdebase kde-base/plasma-workspace
+kde-base/kdebase kde-base/renamedlg-plugins
 kde-base/kdebase kde-base/solid
+kde-base/kdebase kde-base/solid-hardware
+kde-base/kdebase kde-base/soliduiserver
 kde-base/kdebase kde-base/systemsettings
 kde-base/kdebindings kde-base/kalyptus
 kde-base/kdebindings kde-base/kdejava
 kde-base/kdebindings kde-base/kimono
 kde-base/kdebindings kde-base/kjsembed
 kde-base/kdebindings kde-base/korundum
+kde-base/kdebindings kde-base/krossjava
 kde-base/kdebindings kde-base/krosspython
 kde-base/kdebindings kde-base/krossruby
 kde-base/kdebindings kde-base/pykde4
-kde-base/kdebindings kde-base/qyoto
 kde-base/kdebindings kde-base/qtjava
 kde-base/kdebindings kde-base/qtruby
 kde-base/kdebindings kde-base/qtsharp
+kde-base/kdebindings kde-base/qyoto
 kde-base/kdebindings kde-base/smoke
 kde-base/kdebindings kde-base/xparts
 kde-base/kdeedu kde-base/blinken
@@ -162,7 +195,9 @@
 kde-base/kdegames kde-base/katomic
 kde-base/kdegames kde-base/kbattleship
 kde-base/kdegames kde-base/kblackbox
+kde-base/kdegames kde-base/kblocks
 kde-base/kdegames kde-base/kbounce
+kde-base/kdegames kde-base/kbreakout
 kde-base/kdegames kde-base/kdiamond
 kde-base/kdegames kde-base/kfourinline
 kde-base/kdegames kde-base/kgoldrunner
@@ -179,6 +214,7 @@
 kde-base/kdegames kde-base/kreversi
 kde-base/kdegames kde-base/ksame
 kde-base/kdegames kde-base/kshisen
+kde-base/kdegames kde-base/ksirk
 kde-base/kdegames kde-base/kspaceduel
 kde-base/kdegames kde-base/ksquares
 kde-base/kdegames kde-base/ksudoku
@@ -190,17 +226,24 @@
 kde-base/kdegraphics kde-base/gwenview
 kde-base/kdegraphics kde-base/kamera
 kde-base/kdegraphics kde-base/kcolorchooser
+kde-base/kdegraphics kde-base/kdegraphics-strigi-analyzer
 kde-base/kdegraphics kde-base/kgamma
 kde-base/kdegraphics kde-base/kghostview
 kde-base/kdegraphics kde-base/kolourpaint
 kde-base/kdegraphics kde-base/kruler
+kde-base/kdegraphics kde-base/ksaneplugin
 kde-base/kdegraphics kde-base/ksnapshot
+kde-base/kdegraphics kde-base/libkdcraw
+kde-base/kdegraphics kde-base/libkexiv2
+kde-base/kdegraphics kde-base/libkipi
+kde-base/kdegraphics kde-base/libksane
 kde-base/kdegraphics kde-base/libkscan
 kde-base/kdegraphics kde-base/okular
 kde-base/kdegraphics kde-base/svgpart
 kde-base/kdemultimedia kde-base/dragonplayer
 kde-base/kdemultimedia kde-base/juk
 kde-base/kdemultimedia kde-base/kdemultimedia-kioslaves
+kde-base/kdemultimedia kde-base/kdemultimedia-strigi-analyzer
 kde-base/kdemultimedia kde-base/kmix
 kde-base/kdemultimedia kde-base/kscd
 kde-base/kdemultimedia kde-base/libkcddb
@@ -221,11 +264,14 @@
 kde-base/kdepim kde-base/kaddressbook
 kde-base/kdepim kde-base/kalarm
 kde-base/kdepim kde-base/kdemaildir
+kde-base/kdepim kde-base/kdepim-icons
 kde-base/kdepim kde-base/kdepim-kioslaves
 kde-base/kdepim kde-base/kdepim-kresources
+kde-base/kdepim kde-base/kdepim-strigi-analyzer
 kde-base/kdepim kde-base/kdepim-wizards
 kde-base/kdepim kde-base/kfeed
 kde-base/kdepim kde-base/kitchensync
+kde-base/kdepim kde-base/kjots
 kde-base/kdepim kde-base/kleopatra
 kde-base/kdepim kde-base/kmail
 kde-base/kdepim kde-base/kmailcvt
@@ -236,6 +282,7 @@
 kde-base/kdepim kde-base/konsolekalendar
 kde-base/kdepim kde-base/kontact
 kde-base/kdepim kde-base/kontact-specialdates
+kde-base/kdepim kde-base/kontactinterfaces
 kde-base/kdepim kde-base/korganizer
 kde-base/kdepim kde-base/korn
 kde-base/kdepim kde-base/kpilot
@@ -250,22 +297,24 @@
 kde-base/kdepim kde-base/mimelib
 kde-base/kdepim kde-base/networkstatus
 kde-base/kdesdk kde-base/cervisia
-kde-base/kdesdk kde-base/kdeaccounts-plugin
 kde-base/kdesdk kde-base/kapptemplate
 kde-base/kdesdk kde-base/kate
 kde-base/kdesdk kde-base/kbabel
 kde-base/kdesdk kde-base/kbugbuster
 kde-base/kdesdk kde-base/kcachegrind
+kde-base/kdesdk kde-base/kdeaccounts-plugin
 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/kdesdk-strigi-analyzer
 kde-base/kdesdk kde-base/kmtrace
 kde-base/kdesdk kde-base/kompare
 kde-base/kdesdk kde-base/kspy
 kde-base/kdesdk kde-base/kstartperf
-kde-base/kdesdk kde-base/strigi-analyzer
 kde-base/kdesdk kde-base/kuiviewer
+kde-base/kdesdk kde-base/lokalize
 kde-base/kdesdk kde-base/poxml
+kde-base/kdesdk kde-base/strigi-analyzer
 kde-base/kdesdk kde-base/umbrello
 kde-base/kdetoys kde-base/amor
 kde-base/kdetoys kde-base/kteatime
@@ -279,12 +328,11 @@
 kde-base/kdeutils kde-base/kdf
 kde-base/kdeutils kde-base/kfloppy
 kde-base/kdeutils kde-base/kgpg
-kde-base/kdeutils kde-base/kjots
 kde-base/kdeutils kde-base/kmilo
 kde-base/kdeutils kde-base/kregexpeditor
-kde-base/kdeutils kde-base/kdessh
 kde-base/kdeutils kde-base/ktimer
 kde-base/kdeutils kde-base/kwallet
+kde-base/kdeutils kde-base/okteta
 kde-base/kdeutils kde-base/superkaramba
 kde-base/kdeutils kde-base/sweeper
 kde-base/kdewebdev kde-base/kfilereplace
@@ -292,20 +340,6 @@
 kde-base/kdewebdev kde-base/klinkstatus
 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/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
@@ -357,41 +391,19 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	if [[ -x ${KDEDIR}/bin/kbuildsycoca4 && -z "${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
-
-		# kbuildsycoca4 needs a running dbus session to work correctly.
-		# We have to start a new dbus session, because the DBUS_SESSION_BUS_ADDRESS in the environment
-		# could from from the user's environment (through su [without '-']), causing kbuildsycoca4 to hang.
-
-		echo "Starting dbus session for kbuildsycoca4"
-		local _i
-		for _i in $(dbus-launch); do
-			# We export both the ADDRESS _and_ the PID. We need the latter only to kill our session.
-			debug-print "Exporting: ${_i}"
-			export "${_i}";
-		done
-		debug-print "kbuildsycoca4 is using ${DBUS_SESSION_BUS_ADDRESS}"
+		# Make sure tha cache file exists, or kbuildsycoca4 will fail
+		touch "${KDEDIR}/share/kde4/services/ksycoca4"
+
+		# We have to unset DISPLAY and DBUS_SESSION_BUS_ADDRESS, the ones
+		# in the user's environment (through su [without '-']) may cause
+		# kbuildsycoca4 to hang.
 
 		ebegin "Running kbuildsycoca4 to build global database"
 		# This is needed because we support multiple kde versions installed together.
 		XDG_DATA_DIRS="/usr/share:${KDEDIRS//:/\/share:}/share:/usr/local/share" \
-		${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
-		eend $?
-
-		echo "Killing dbus session for kbuildsycoca4"
-		debug-print "ADDRESS ${DBUS_SESSION_BUS_ADDRESS}"
-		debug-print "PID: ${DBUS_SESSION_BUS_PID}"
-		kill ${DBUS_SESSION_BUS_PID}
+			DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
+			${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
 		eend $?
-		unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
-
-		# For some reason this directory gets created with noone other than root
-		# being able to read it. Hence we chmod it.
-		chmod -R 0755 "${ROOT}"/usr/share/kde4
 	fi
 }
 
@@ -426,13 +438,22 @@
 # but this default can be overridden by defining KDE_LINGUAS_DIR.
 enable_selected_linguas() {
 	local lingua
-	comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
+
 	for lingua in ${KDE_LINGUAS}; do
-		if use linguas_${lingua}; then
+		if [ -e "${S}"/po/"${lingua}".po ]; then
+			mv "${S}"/po/"${lingua}".po "${S}"/po/"${lingua}".po.old
+		fi
+	done
+	comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
+	for lingua in ${LINGUAS}; do
+		if [ -d "${S}"/po/"${lingua}" ]; then
 			sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 				-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 				-i "${KDE_LINGUAS_DIR:-${S}/po}"/CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
 		fi
+		if [ -e "${S}"/po/"${lingua}".po.old ]; then
+			mv "${S}"/po/"${lingua}".po.old "${S}"/po/"${lingua}".po
+		fi
 	done
 }
 



1.7                  eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.7&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.7&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.6&r2=1.7

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- kde4-meta.eclass	15 May 2008 19:49:32 -0000	1.6
+++ kde4-meta.eclass	2 Oct 2008 06:49:02 -0000	1.7
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.6 2008/05/15 19:49:32 ingmar Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.7 2008/10/02 06:49:02 jmbsvicetto Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -17,7 +17,14 @@
 
 inherit multilib kde4-functions kde4-base
 
-EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+case "${EAPI}" in
+	2)
+		EXPORT_FUNCTIONS pkg_setup src_unpack src_configure src_compile src_test src_install pkg_postinst pkg_postrm
+		;;
+	*)
+		EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+		;;
+esac
 
 if [[ -z ${KMNAME} ]]; then
 	die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild"
@@ -49,17 +56,17 @@
 		RDEPEND="${RDEPEND} >=kde-base/qimageblitz-0.0.4"
 	;;
 	kdepim)
-		DEPEND="${DEPEND} dev-libs/boost"
+		DEPEND="${DEPEND} dev-libs/boost app-office/akonadi-server"
 		RDEPEND="${RDEPEND} dev-libs/boost"
 		if [[ ${PN} != kode ]]; then
 			DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}"
 			RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}"
 		fi
 		case ${PN} in
-			akregator|kaddressbook|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
+			akregator|kaddressbook|kjots|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
 				IUSE="+kontact"
-				DEPEND="${DEPEND} kontact? ( >=kde-base/kontact-${PV}:${SLOT} )"
-				RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontact-${PV}:${SLOT} )"
+				DEPEND="${DEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
+				RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
 			;;
 		esac
 	;;
@@ -234,7 +241,7 @@
 			kleopatra/ConfigureChecks.cmake"
 		if has kontact ${IUSE//+} && use kontact; then
 			KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
-			KMEXTRACTONLY="${KMEXTRACTONLY} kontact/interfaces/"
+			KMEXTRACTONLY="${KMEXTRACTONLY} kontactinterfaces/"
 		fi
 		;;
 		koffice)
@@ -248,14 +255,18 @@
 	esac
 	# Don't install cmake modules for split ebuilds to avoid collisions.
 	case ${KMNAME} in
-		kdebase-workspace|kdebase-runtime|kdepim|kdegames|kdegraphics)
-			if [[ ${PN} != "libkdegames" ]]; then
-				KMCOMPILEONLY="${KMCOMPILEONLY}
-					cmake/modules/"
-			else
-				KMEXTRA="${KMEXTRA}
-					cmake/modules/"
-			fi
+		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics|kdepim)
+			case ${PN} in
+				libkdegames|libkdeedu|marble)
+					KMEXTRA="${KMEXTRA}
+						cmake/modules/"
+					;;
+
+				*)
+					KMCOMPILEONLY="${KMCOMPILEONLY}
+						cmake/modules/"
+					;;
+			esac
 		;;
 	esac
 
@@ -303,7 +314,7 @@
 
 
 	case ${PV} in
-		scm|9999.4) : ;;
+		scm|9999*) : ;;
 		*) topdir="${KMNAME}-${PV}/" ;;
 	esac
 
@@ -352,7 +363,13 @@
 kde4-meta_src_compile() {
 	debug-print-function  ${FUNCNAME} "$@"
 
-	kde4-meta_src_configure
+	case "${EAPI}" in
+		2 | 2_pre3 | 2_pre2 | 2_pre1)
+		;;
+		*)
+			kde4-base_meta_configure
+		;;
+	esac
 	kde4-meta_src_make
 }
 
@@ -467,7 +484,7 @@
 		;;
 		kdepim)
 		case ${PN} in
-			kaddressbook|kmailcvt|kontact|korganizer)
+			kaddressbook|kalarm|kmailcvt|kontact|korganizer|korn)
 			sed -i -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
 				-e '/add_custom_target(kmail_xml /,/)/p' "${S}"/kmail/CMakeLists.txt || die "uncommenting xml failed"
 			_change_cmakelists_parent_dirs kmail






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-01-12 17:25 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-01-12 17:25 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/01/12 17:25:59

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Update of kde4 eclasses with ones which understand 4.2 and live :]
  Report all broken  (in meaning with kde4.2) things, i will be revbumping and
  fixing all packages using these eclasses but i might miss something.
  Such package could became blocker for 4.2 so bumb if you maintain such thing
  (i will write note on dev-ml today when i am done and if i wont forget).

Revision  Changes    Path
1.22                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.22&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.22&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.21&r2=1.22

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- kde4-base.eclass	6 Jan 2009 10:55:41 -0000	1.21
+++ kde4-base.eclass	12 Jan 2009 17:25:59 -0000	1.22
@@ -1,87 +1,58 @@
 # Copyright 2007-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.21 2009/01/06 10:55:41 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.22 2009/01/12 17:25:59 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
 # kde@gentoo.org
 # @BLURB: This eclass provides functions for kde 4.X ebuilds
 # @DESCRIPTION:
-# The kde4-base.eclass provides support for building KDE4 monolithic ebuilds
+# The kde4-base.eclass provides support for building KDE4 based ebuilds
 # and KDE4 applications.
 #
-# NOTE: This eclass uses the SLOT dependencies from EAPI="1" or compatible,
-# and use deps from EAPI="2", hence you must define EAPI="2" in the ebuild,
-# before inheriting any eclasses.
-
-inherit base cmake-utils eutils kde4-functions multilib
-
-case "${EAPI}" in
-	2)
-		EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
-		;;
-	*)
-		EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
-		;;
-esac
+# NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
+# eclass will fail with version older than 2.
 
-# Set the qt dependencies
-kde4-base_set_qt_dependencies() {
-	local qt qtcore qtgui qt3support qtdepend qtopengldepend
+inherit base cmake-utils eutils multilib kde4-functions
 
-	# use dependencies
-	case "${EAPI}" in
-		2 | 2_pre3 | 2_pre2 | 2_pre1)
-
-		qt="["
-		case "${OPENGL_REQUIRED}" in
-			always)
-			qt="${qt}opengl,"
-			;;
-			optional)
-			qt="${qt}opengl?,"
-			;;
-		esac
-		qt="${qt}accessibility,dbus,gif,jpeg,png,qt3support,ssl,zlib]"
-		qtcore="[qt3support,ssl]"
-		qtgui="[accessibility,dbus]"
-		qt3support="[accessibility]"
-		;;
-	esac
+get_build_type
+if [[ $BUILD_TYPE = live ]]; then
+	inherit subversion
+fi
+
+EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
+
+# @FUNCTION: kde4-base_set_qt_dependencies
+# @DESCRIPTION:
+# Set qt dependencies. And use opengl based on OPENGL_REQUIRED variable.
+kde4-base_set_qt_dependencies() {
+	local qtdepend qtopengldepend
 
-	# split qt
 	qtdepend="
-		x11-libs/qt-core:4${qtcore}
-		x11-libs/qt-gui:4${qtgui}
-		x11-libs/qt-qt3support:4${qt3support}
+		x11-libs/qt-core:4[qt3support,ssl]
+		x11-libs/qt-gui:4[accessibility,dbus]
+		x11-libs/qt-qt3support:4[accessibility]
 		x11-libs/qt-script:4
+		x11-libs/qt-sql:4[qt3support]
 		x11-libs/qt-svg:4
-		x11-libs/qt-test:4"
+		x11-libs/qt-test:4
+		x11-libs/qt-webkit:4"
 	qtopengldepend="x11-libs/qt-opengl:4"
 
-	# allow monolithic qt for PV < 4.1
-	case "${PV}" in
-		scm|9999*|4.1*|4.0.9*|4.0.8*) : ;;
-		*)
-		qtdepend="|| ( ( ${qtdepend} ) >=x11-libs/qt-4.3.3:4${qt} )"
-		qtopengldepend="|| ( ${qtopengldepend} >=x11-libs/qt-4.3.3:4 )"
-		;;
-	esac
-
 	# opengl dependencies
-	case "${OPENGL_REQUIRED}" in
+	case ${OPENGL_REQUIRED} in
 		always)
-		qtdepend="${qtdepend}
-			${qtopengldepend}"
-		;;
+			qtdepend="${qtdepend}
+				${qtopengldepend}"
+			;;
 		optional)
-		IUSE="${IUSE} opengl"
-		qtdepend="${qtdepend}
-			opengl? ( ${qtopengldepend} )"
-		;;
+			IUSE="${IUSE} opengl"
+			qtdepend="${qtdepend}
+				opengl? ( ${qtopengldepend} )"
+			;;
 		*)
-		OPENGL_REQUIRED="never"
-		;;
+			OPENGL_REQUIRED="never"
+			;;
 	esac
 
 	COMMONDEPEND="${COMMONDEPEND} ${qtdepend} !x11-libs/qt-phonon"
@@ -89,29 +60,25 @@
 kde4-base_set_qt_dependencies
 
 # Set the cmake dependencies
-case "${PV}" in
-	9999*)
-		CMAKEDEPEND=">=dev-util/cmake-2.6"
-		;;
-	*)
-		CMAKEDEPEND=">=dev-util/cmake-2.4.7-r1"
-		;;
-esac
+# Quite a few packages fail with cmake-2.4 even for KDE 4.1, so we just require 2.6.2
+CMAKEDEPEND=">=dev-util/cmake-2.6.2"
 
 # Set the common dependencies
 DEPEND="${DEPEND} ${COMMONDEPEND} ${CMAKEDEPEND}
 	dev-util/pkgconfig
-	kde-base/automoc
 	x11-libs/libXt
 	x11-proto/xf86vidmodeproto"
 RDEPEND="${RDEPEND} ${COMMONDEPEND}"
 
-# Add the kdeprefix use flag
-case "${EAPI}" in
-	2 | 2_pre3 | 2_pre2 | 2_pre1)
-		IUSE="${IUSE} kdeprefix"
-		;;
-esac
+if [[ $BUILD_TYPE = live ]]; then
+	# Disable tests for live ebuilds
+	RESTRICT="${RESTRICT} test"
+	# Live ebuilds in kde-base default to kdeprefix by default
+	IUSE="${IUSE} +kdeprefix"
+else
+	# All other ebuild types default to -kdeprefix as before
+	IUSE="${IUSE} kdeprefix"
+fi
 
 # @ECLASS-VARIABLE: OPENGL_REQUIRED
 # @DESCRIPTION:
@@ -125,131 +92,148 @@
 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
 CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
 
-case "${CPPUNIT_REQUIRED}" in
+case ${CPPUNIT_REQUIRED} in
 	always)
-	DEPEND="${DEPEND} dev-util/cppunit"
-	;;
+		DEPEND="${DEPEND} dev-util/cppunit"
+		;;
 	optional)
-	IUSE="${IUSE} test"
-	DEPEND="${DEPEND}
-		test? ( dev-util/cppunit )"
-	;;
+		IUSE="${IUSE} test"
+		DEPEND="${DEPEND}
+			test? ( dev-util/cppunit )"
+		;;
 	*)
-	CPPUNIT_REQUIRED="never"
-	;;
+		CPPUNIT_REQUIRED="never"
+		;;
 esac
 
 # @ECLASS-VARIABLE: NEED_KDE
 # @DESCRIPTION:
 # This variable sets the version of KDE4 which will be used by the eclass.
-# This variable must be set by the ebuild, for all categories except for "kde-base".
 # For kde-base packages, if it is not set by the ebuild,
-# it's assumed that the required KDE4 version is the latest, non-live, available.
+# it's assumed that the required KDE4 version is the latest available.
+# For non kde-base packages, it is also set to the latest by default.
+#
+# For more precise adjustments or for specifying particular kde version,
+# KDE_MINIMAL variable can be used.
 #
 # @CODE
 # Acceptable values are:
 #	- latest - Use latest version in the portage tree
-#		Default for kde-base ebuilds. Banned for ebuilds not part of kde or koffice.
-#	- svn - Use svn release (live ebuilds)
-#	- :SLOT - Use any version in the SLOT specified in the NEED_KDE value.
-#	- VERSION_NUMBER - Use the minimum KDE4 version specified in the NEED_KDE value.
-#	- VERSION_NUMBER:SLOT - Use the minimum KDE4 version and the SLOT specified in the NEED_KDE value.
+#		Default for kde-base ebuilds.
+#	- live - Use live release (live ebuilds)
 #	- none - Let the ebuild handle SLOT, kde dependencies, KDEDIR, ...
+#	- 4.2, 4.1, kde-4 - respective slots for kde versions
 # @CODE
-#
-# Note: There is no default NEED_KDE for ebuilds not in kde-base or part of
-# koffice, so you must set it explicitly in the ebuild, in all other cases.
-if [[ -z ${NEED_KDE} ]]; then
-	if [[ -n ${KDEBASE} ]]; then
-		NEED_KDE="latest"
-	else
-		die "kde4-base.eclass inherited but NEED_KDE not defined - broken ebuild"
-	fi
-fi
+# Note: default NEED_KDE is latest
+NEED_KDE="${NEED_KDE:=latest}"
 export NEED_KDE
 
+# @ECLASS-VARIABLE: KDE_MINIMAL
+# @DESCRIPTION:
+# This wariable is used when NEED_KDE="latest" is set, to specify the
+# required KDE minimal version for which apps will work.
+# @CODE
+# KDE_MINIMAL="-4.1"
+# @CODE
+# Note: default minimal version is kde-4.1, which means that the apps will work
+# with any KDE version >=${KDE_MINIMAL}
+KDE_MINIMAL="${KDE_MINIMAL:=4.1}"
+export KDE_MINIMAL
+
+# FIXME: the code section, explanation of live. The last sentence needs other
+# formulation too.
+#
+# @ECLASS-VARIABLE: KDE_WANTED
+# @DESCRIPTION:
+# When NEED_KDE=latest is inherited, KDE_WANTED serves to indicate the prefered kde
+# version. It's value is looked for before any other. Useful when having more
+# +kdeprefix installs: you can choose which kde version, if present, to link
+# against.
+#
+# @CODE
+# Acceptable values are:
+# 		stable = whatever is main tree (now 4.1)
+# 		testing = whatever is in testing on main tree
+# 		snapshot = whatever is released under snapshots (4.2 at present)
+# 		live = live svn ebuilds, also default value, do not be scared it goes in this
+#
+# order: live->snapshot->testing->stable, when searching for kde. This way we
+# allow users to use just kde4snapshots and use software from the tree.
+KDE_WANTED="${KDE_WANTED:=live}"
+export KDE_WANTED
+
 case ${NEED_KDE} in
 	latest)
-		# Should only be used by 'kde-base'-ebuilds
-		if [[ "${KDEBASE}" == "kde-base" ]]; then
+		if [[ $KDEBASE = kde-base ]]; then
 			case ${PV} in
+				4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
+					_kdedir="4.2"
+					_pv="-${PV}:4.2"
+					_pvn="-${PV}"
+					 ;;
 				4.1*| 4.0.9* | 4.0.8*)
 					_kdedir="4.1"
-					_pv="-${PV}:4.1" ;;
+					_pv="-${PV}:4.1"
+					_pvn="-${PV}"
+					 ;;
 				4.0*)
 					_kdedir="4.0"
-					_pv="-${PV}:kde-4" ;;
+					_pv="-${PV}:kde-4"
+					_pvn="-${PV}"
+					;;
 				3.9*)
 					_kdedir="3.9"
-					_pv="-${PV}:kde-4" ;;
+					_pv="-${PV}:kde-4"
+					_pvn="-${PV}"
+					;;
+				9999*)
+					_kdedir="live"
+					_pv="-${PV}:live"
+					_pvn="-${PV}"
+					;;
 				*)
 					die "NEED_KDE=latest not supported for PV=${PV}" ;;
-			esac
+				esac
 			_operator=">="
 		else
-			case ${PV} in
-				4.1 | 4.0.9* | 4.0.8*) _kdedir="4.1" ;;
-				4.0*) _kdedir="4.0" ;;
-				3.9*) _kdedir="3.9" ;;
-				*) die "NEED_KDE=latest not supported for PV=${PV}" ;;
-			esac
+			# this creates dependency on any version of kde4
+			_operator=">="
+			_pv="-${KDE_MINIMAL}"
+			_pvn=${_pv}
 		fi
 		;;
 
-	# NEED_KDE=":${SLOT}"
-	:kde-svn)
-		_kdedir="svn"
-		_pv="-${NEED_KDE}"
-		export NEED_KDE="svn"
-		;;
-	:4.1)
-		_kdedir="4.1"
-		_pv="${NEED_KDE}"
-		;;
-	:kde-4)
-		_kdedir="4.0"
-		_pv="${NEED_KDE}"
-		;;
-
-	# NEED_KDE="${PV}:${SLOT}"
-	*:kde-svn)
-		_kdedir="svn"
-		_operator=">="
-		_pv="-${NEED_KDE}"
-		export NEED_KDE="svn"
-		;;
-	*:4.1)
-		_kdedir="4.1"
-		_operator=">="
-		_pv="-${NEED_KDE}"
-		;;
-	*:kde-4)
-		_kdedir="4.0"
-		_operator=">="
-		_pv="-${NEED_KDE}"
-		;;
-
 	# NEED_KDE="${PV}"
-	scm|svn|9999*)
-		_kdedir="svn"
+	scm|svn|live|9999*)
+		_kdedir="live"
+		_operator=">="
+		_pv="-${NEED_KDE}:live"
+		_pvn="-${NEED_KDE}"
+		export NEED_KDE="live"
+		;;
+	4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
+		_kdedir="4.2"
+		_pv="-${NEED_KDE}:4.2"
+		_pvn="-${NEED_KDE}"
 		_operator=">="
-		_pv="-${NEED_KDE}:kde-svn"
-		export NEED_KDE="svn"
 		;;
 	4.1 | 4.0.9* | 4.0.8*)
 		_kdedir="4.1"
-		_operator=">="
 		_pv="-${NEED_KDE}:4.1"
+		_pvn="-${NEED_KDE}"
+		_operator=">="
 		;;
 	4.0* | 4)
 		_kdedir="4.0"
 		_operator=">="
 		_pv="-${NEED_KDE}:kde-4"
+		_pvn="-${NEED_KDE}"
 		;;
 	3.9*)
 		_kdedir="3.9"
 		_operator=">="
 		_pv="-${NEED_KDE}:kde-4"
+		_pvn="-${NEED_KDE}"
 		;;
 
 	# The ebuild handles dependencies, KDEDIR, SLOT.
@@ -265,103 +249,161 @@
 if [[ ${NEED_KDE} != none ]]; then
 
 	#Set the SLOT
-	if [[ -n ${KDEBASE} ]]; then
-		if [[ ${NEED_KDE} = svn ]]; then
-			SLOT="kde-svn"
+	if [[ -n $KDEBASE ]]; then
+		if [[ $NEED_KDE = live ]]; then
+			SLOT="live"
 		else
-			case ${PV} in
-				4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
-				*) SLOT="kde-4" ;;
-			esac
+			case ${KMNAME} in
+				koffice)
+					case ${PV} in
+						9999*) SLOT="live" ;;
+						*) SLOT="2" ;;
+					esac
+					;;
+				kdevelop)
+					case ${PV} in
+						9999*) SLOT="live" ;;
+						4.0*|3.9*) SLOT="4" ;;
+					esac
+					;;
+				kdevplatform)
+					case ${PV} in
+						9999*) SLOT="live" ;;
+						1.0*|0.9*) SLOT="1" ;;
+					esac
+					;;
+				*)
+					case ${PV} in
+						9999*) SLOT="live" ;;
+						4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
+						4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
+						*) SLOT="4.1" ;;
+					esac
+					;;
+				esac
 		fi
 	fi
 
-	# Block install of other SLOTS unless kdeprefix
-	case "${EAPI}" in
-		2 | 2_pre3 | 2_pre2 | 2_pre1)
-			for KDE_SLOT in ${KDE_SLOTS[@]}; do
-				# block non kdeprefix ${PN} on other slots
-				if [[ ${SLOT} != ${KDE_SLOT} ]]; then
-					DEPEND="${DEPEND}
-						!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
-					RDEPEND="${RDEPEND}
-						!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
-				fi
-			done
-			;;
-	esac
+	# Block installation of other SLOTS unless kdeprefix
+	for KDE_SLOT in ${KDE_SLOTS[@]}; do
+		# block non kdeprefix ${PN} on other slots
+		# we do this only if we do not depend on any version of kde
+		if [[ ${SLOT} != ${KDE_SLOT} ]]; then
+			DEPEND="${DEPEND}
+				!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+			RDEPEND="${RDEPEND}
+				!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+		fi
+	done
 
 	# Adding kdelibs, kdepimlibs and kdebase-data deps to all other packages.
 	# We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs"
-	if [[ ${PN} != "kdelibs" ]]; then
-		case "${EAPI}" in
-			2 | 2_pre3 | 2_pre2 | 2_pre1)
-				DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]"
-				RDEPEND="${RDEPEND}	${_operator}kde-base/kdelibs${_pv}[kdeprefix=]"
-				;;
-			*)
-				DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}"
-				RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}"
-				;;
-		esac
-		if [[ ${PN} != "kdepimlibs" ]]; then
-			case "${EAPI}" in
-				2 | 2_pre3 | 2_pre2 | 2_pre1)
-					DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix=]"
-					RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix=]"
-					;;
-				*)
-					DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}"
-					RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}"
-			esac
-			if [[ ${PN} != "kdebase-data" ]]; then
-				case "${EAPI}" in
-					2)
-						RDEPEND="${RDEPEND} ${_operator}kde-base/kdebase-data${_pv}[kdeprefix=]"
-						;;
-					*)
-						RDEPEND="${RDEPEND} ${_operator}kde-base/kdebase-data${_pv}"
-						;;
-				esac
+	if [[ $PN != kdelibs ]]; then
+		DEPEND="${DEPEND}
+				kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
+				!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )"
+		RDEPEND="${RDEPEND}
+				kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
+				!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )"
+		if [[ $PN != kdepimlibs ]]; then
+			DEPEND="${DEPEND}
+				kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix] )
+				!kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pvn}[-kdeprefix] )"
+			RDEPEND="${RDEPEND}
+				kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix] )
+				!kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pvn}[-kdeprefix] )"
+			if [[ $PN != kdebase-data ]]; then
+				RDEPEND="${RDEPEND}
+					kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
+					!kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )"
 			fi
 		fi
 	fi
-
-	unset _operator _pv
+	unset _operator _pv _pvn
 fi
 
 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
 # koffice ebuild, the URI should be set in the ebuild itself
-if [[ -n ${KDEBASE} ]]; then
-	if [[ -n ${KMNAME} ]]; then
-		_kmname=${KMNAME}
-	else
-		_kmname=${PN}
-	fi
-	_kmname_pv="${_kmname}-${PV}"
-	if [[ ${NEED_KDE} != "svn" ]]; then
-		case ${KDEBASE} in
-			kde-base)
-			case ${PV} in
-				4.0.9* | 4.0.8*)
-					SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
-				*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2";;
+case ${SLOT} in
+	live)
+		ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
+		# Split ebuild, or extragear stuff
+		if [[ -n $KMNAME ]]; then
+		    ESVN_PROJECT="${KMNAME}"
+			if [[ -z ${KMNOMODULE} && -z ${KMMODULE} ]]; then
+				KMMODULE="${PN}/"
+			fi
+			# Split kde-base/ ebuilds: (they reside in trunk/KDE)
+			case ${KMNAME} in
+				kdebase-*)
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/kdebase/${KMNAME#kdebase-}/"
+					;;
+				kdereview)
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+					;;
+				kde*)
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}"
+					;;
+				extragear*|playground*)
+					case ${PN} in
+						*-plasma)
+							ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+							ESVN_PROJECT="${KMNAME}/${KMMODULE}"
+							;;
+						*)
+							ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+							;;
+					esac
+				;;
+				koffice)
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+					;;
+				*)
+					# Extragear material
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}/"
+					;;
 			esac
-			;;
-			koffice)
-			SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
-			;;
-		esac
-	fi
-	unset _kmname _kmname_pv
-fi
+		else
+			# kdelibs, kdepimlibs
+			ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}"
+			ESVN_PROJECT="${PN}"
+		fi
+		# limit syncing to 1 hour.
+		ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
+		;;
+	*)
+		if [[ -n $KDEBASE ]]; then
+			if [[ -n ${KMNAME} ]]; then
+				_kmname=${KMNAME}
+			else
+				_kmname=${PN}
+			fi
+			_kmname_pv="${_kmname}-${PV}"
+			if [[ $NEED_KDE != live ]]; then
+			case ${KDEBASE} in
+				kde-base)
+					case ${PV} in
+						4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
+							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
+						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
+					esac
+					;;
+				koffice)
+					SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
+				;;
+			esac
+			fi
+				unset _kmname _kmname_pv
+			fi
+		;;
+esac
 
 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
 
 # @ECLASS-VARIABLE: PREFIX
 # @DESCRIPTION:
 # Set the installation PREFIX. All kde-base ebuilds go into the KDE4 installation directory.
-# Applications installed by the other ebuilds go into /usr/ by default, this value
+# Applications installed by the other ebuilds go into ${KDEDIR} by default, this value
 # can be superseded by defining PREFIX before inheriting kde4-base.
 # This value is set on pkg_setup
 PREFIX=""
@@ -380,114 +422,37 @@
 	# Don't set KDEHOME during compile, it will cause access violations
 	unset KDEHOME
 
-	if [[ ${NEED_KDE} != none ]]; then
+	# Search for best suitable kde installation for misc kde package.
+	# Computation based on NEED_KDE and KDE_MINIMAL
+	get_latest_kdedir
 
+	if [[ $NEED_KDE != none ]]; then
 		# Set PREFIX
-		case "${EAPI}" in
-			2 | 2_pre3 | 2_pre2 | 2_pre1)
-				if use kdeprefix; then
-					KDEDIR="/usr/kde/${_kdedir}"
-					KDEDIRS="/usr:/usr/local:${KDEDIR}"
-				else
-					KDEDIR="/usr"
-					KDEDIRS="/usr:/usr/local"
-				fi
-				;;
-			*)
-				KDEDIR="/usr"
-				KDEDIRS="/usr:/usr/local"
-				;;
-		esac
+		if use kdeprefix; then
+			KDEDIR="/usr/kde/${_kdedir}"
+			KDEDIRS="/usr/local/:/usr:${KDEDIR}"
+		else
+			KDEDIR="/usr"
+			KDEDIRS="/usr/local/:/usr"
+		fi
 	fi
-
 	# Set the prefix based on KDEDIR
 	# Make it a consequence of kdeprefix
-	PREFIX=${KDEDIR}
+	PREFIX=$KDEDIR
 
 	unset _kdedir
 
-	case "${EAPI}" in
-		2 | 2_pre3 | 2_pre2 | 2_pre1)
-		[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
-			die "built_with_use illegal in this EAPI!"
-		;;
-		*)
-		# Make KDE4_BUILT_WITH_USE_CHECK an array if it isn't already
-		local line kde4_built_with_use_check=()
-		if [[ -n ${KDE4_BUILT_WITH_USE_CHECK[@]} && $(declare -p KDE4_BUILT_WITH_USE_CHECK) != 'declare -a '* ]]; then
-			while read line; do
-				[[ -z ${line} ]] && continue
-				kde4_built_with_use_check+=("${line}")
-			done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
-			KDE4_BUILT_WITH_USE_CHECK=("${kde4_built_with_use_check[@]}")
-		fi
-
-		# KDE4 applications require qt4 compiled with USE="accessibility dbus gif jpeg png qt3support ssl zlib".
-		if has_version '<x11-libs/qt-4.4_alpha:4'; then
-			QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} accessibility dbus gif jpeg png qt3support ssl zlib"
-		else
-			KDE4_BUILT_WITH_USE_CHECK=("${KDE4_BUILT_WITH_USE_CHECK[@]}"
-				"x11-libs/qt-core qt3support ssl"
-				"x11-libs/qt-gui accessibility dbus"
-				"x11-libs/qt-qt3support accessibility")
-		fi
-
-		if has opengl ${IUSE//+} && use opengl || [[ ${OPENGL_REQUIRED} == always ]]; then
-			if has_version '<x11-libs/qt-4.4.0_alpha:4'; then
-				QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} opengl"
-			fi
-		fi
-		kde4-functions_check_use
-		;;
-	esac
-}
-
-# @FUNCTION: kde4-base_apply_patches
-# @DESCRIPTION:
-# This function applies patches.
-#
-# If the directory ${WORKDIR}/patches/ exists, we apply all patches in that
-# directory, provided they follow this format:
-# @CODE
-# - Monolithic ebuilds, (from kde-base)
-#		- $CATEGORY=kde-base:
-#			Apply ${CHILD_EBUILD_NAME}-${SLOT}-*{diff,patch}
-#		- $CATEGORY=!kde-base:
-#			Apply ${CHILD_EBUILD_NAME}-${PV}-*{diff,patch}
-# - Split ebuilds:
-#		- $CATEGORY=kde-base:
-#			Apply ${PN}-${SLOT}-*{diff,patch}
-#		- $CATEGORY!=kde-base:
-#			Apply ${PN}-${PV}-*{diff,patch}
-# @CODE
-#
-# If ${PATCHES} is non-zero all patches in it get applied. If there is more
-# than one patch please make ${PATCHES} an array for proper quoting.
-kde4-base_apply_patches() {
-	local _patchdir _packages _p _f
-	_patchdir="${WORKDIR}/patches/"
-	if [[ -d "${_patchdir}" ]]; then
-		if is-parent-package ${CATEGORY}/${PN} ; then
-			_packages="$(get-child-packages ${CATEGORY}/${PN})"
-			_packages="${_packages//${CATEGORY}\//} ${PN}"
-		else
-			_packages="${PN}"
-		fi
-		if [[ $(declare -p PATCHES) != 'declare -a '* ]]; then
-			die "PATCHES needs to be an array!"
-		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
+	# check if qt has correct deps
+	[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
+		die "built_with_use illegal in this EAPI!"
+
+	if [[ $BUILD_TYPE = live && -z $I_KNOW_WHAT_I_AM_DOING ]]; then
+		echo
+		elog "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
+		elog "Use it at your own risk."
+		elog "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
+		echo
 	fi
-	[[ -n ${PATCHES[@]} ]] && base_src_unpack autopatch
 }
 
 # @FUNCTION: kde4-base_src_unpack
@@ -495,66 +460,79 @@
 # This function unpacks the source tarballs for KDE4 applications.
 #
 # If no argument is passed to this function, then standard src_unpack is
-# executed. Otherwise options are passed to base_src_unpack.
-#
-# In addition it calls kde4-base_apply_patches when no arguments are passed to
-# this function.
-#
-# It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
-# enable_selected_linguas() in kde4-functions.eclass(5) for further details.
+# executed. Otherwise, options are passed to base_src_unpack.
 kde4-base_src_unpack() {
 	debug-print-function $FUNCNAME "$@"
 
-	[[ -z "${KDE_S}" ]] && KDE_S="${S}"
-
-	if [[ -z $* ]]; then
-		# Unpack first and deal with KDE patches after examing possible patch sets.
-		# To be picked up, patches need to conform to the guidelines stated before.
-		# Monolithic ebuilds will use the split ebuild patches.
-		[[ -d "${KDE_S}" ]] || unpack ${A}
-		base_src_unpack $*
+	if [[ $BUILD_TYPE = live ]]; then
+		local cleandir
+		cleandir="${ESVN_STORE_DIR}/KDE"
+		if [[ -d "${cleandir}" ]]; then
+			ewarn "'${cleandir}' has been found. Moving contents to new location."
+			addwrite "${ESVN_STORE_DIR}"
+			# Split kdebase
+			local module
+			if pushd "${cleandir}"/kdebase/kdebase > /dev/null; then
+				for module in `find . -maxdepth 1 -type d -name [a-z0-9]\*`; do
+					module="${module#./}"
+					mkdir -p "${ESVN_STORE_DIR}/kdebase-${module}" && mv -f "${module}" "${ESVN_STORE_DIR}/kdebase-${module}" || \
+						die "Failed to move to '${ESVN_STORE_DIR}/kdebase-${module}'."
+				done
+				popd > /dev/null
+				rm -fr "${cleandir}/kdebase" || \
+					die "Failed to remove ${cleandir}/kdebase. You need to remove it manually."
+			fi
+			# Move the rest
+			local pkg
+			for pkg in "${cleandir}"/*; do
+				mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "failed to move ${pkg}"
+			done
+			rmdir "${cleandir}" || die "Could not move obsolete KDE store dir. Please move '${cleandir}' contents to appropriate location (possibly ${ESVN_STORE_DIR}) and manually remove '${cleandir}' in order to continue."
+		fi
+		subversion_src_unpack
 	else
-		# Call base_src_unpack, which unpacks and patches
-		# step by step transparently as defined in the ebuild.
-		base_src_unpack $*
+		[[ -z $KDE_S ]] && KDE_S="${S}"
+		if [[ -z $* ]]; then
+			# Unpack first and deal with KDE patches after examing possible patch sets.
+			# To be picked up, patches need to conform to the guidelines stated before.
+			# Monolithic ebuilds will use the split ebuild patches.
+			[[ -d "${KDE_S}" ]] || unpack ${A}
+		fi
+		# Updated cmake dir
+		if [[ -d "${WORKDIR}/cmake" && -d "${KDE_S}/cmake" ]]; then
+			ebegin "Updating cmake/ directory..."
+			rm -rf "${KDE_S}/cmake" || die "Unable to remove old cmake/ directory"
+			ln -s "${WORKDIR}/cmake" "${KDE_S}/cmake" || die "Unable to symlink the new cmake/ directory"
+			eend 0
+		fi
 	fi
+}
 
-	# Updated cmake dir
-	if [[ -d "${WORKDIR}/cmake" ]] && [[ -d "${KDE_S}/cmake" ]]; then
-		ebegin "Updating cmake/ directory..."
-		rm -rf "${KDE_S}/cmake" || die "Unable to remove old cmake/ directory"
-		ln -s "${WORKDIR}/cmake" "${KDE_S}/cmake" || die "Unable to symlink the new cmake/ directory"
-		eend 0
-	fi
+# @FUNCTION: kde4-base_src_compile
+# @DESCRIPTION:
+# General pre-configure and pre-compile function for KDE4 applications.
+# It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
+# enable_selected_linguas() in kde4-functions.eclass(5) for further details.
+kde4-base_src_prepare() {
+	debug-print-function ${FUNCNAME} "$@"
 
 	# Only enable selected languages, used for KDE extragear apps.
-	if [[ -n ${KDE_LINGUAS} ]]; then
+	if [[ -n $KDE_LINGUAS ]]; then
 		enable_selected_linguas
 	fi
-}
-
 
-# transition function so we will be compatible with soon to come eclasses
-kde4-base_src_prepare() {
+	# Autopatch
 	base_src_prepare
-}
 
-# @FUNCTION: kde4-base_src_compile
-# @DESCRIPTION:
-# General function for compiling KDE4 applications.
-kde4-base_src_compile() {
-	debug-print-function ${FUNCNAME} "$@"
-	case "${EAPI}" in
-		2)
-			;;
-		*)
-			kde4-base_src_configure
-			;;
-	esac
-	if [[ -d ${WORKDIR}/${PN}_build ]]; then
-		pushd "${WORKDIR}"/${PN}_build > /dev/null
+	# Save library dependencies
+	if [[ -n $KMSAVELIBS ]] ; then
+		save_library_dependencies
+	fi
+
+	# Inject library dependencies
+	if [[ -n $KMLOADLIBS ]] ; then
+		load_library_dependencies
 	fi
-	[ -e [Mm]akefile ] && kde4-base_src_make
 }
 
 # @FUNCTION: kde4-base_src_configure
@@ -563,23 +541,25 @@
 kde4-base_src_configure() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	# Final flag handling
-	if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
-		echo "Activating enable-final flag"
-		mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_FINAL=ON"
+	# We prefer KDE's own Debugfull mode over the standard Debug
+	if has debug ${IUSE//+} && use debug ; then
+		ebegin "Enabling debug flag"
+		mycmakeargs="${mycmakeargs} -DCMAKE_BUILD_TYPE=Debugfull"
+		eend $?
 	fi
 
 	 # Enable generation of HTML handbook
 	if has htmlhandbook ${IUSE//+} && use htmlhandbook; then
-		echo "Enabling building of HTML handbook"
+		ebegin "Enabling building of HTML handbook"
 		mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_HTMLHANDBOOK=ON"
+		eend $?
 	fi
 
 	# Build tests in src_test only, where we override this value
 	mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=OFF"
 
 	# Set distribution name
-	[[ ${PN} == "kdelibs" ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
+	[[ $PN = kdelibs ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
 
 	# runpath linking
 	mycmakeargs="${mycmakeargs} -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
@@ -588,7 +568,7 @@
 	mycmakeargs="${mycmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
 
 	# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
-	[[ "${PREFIX}" == "/usr" ]] && mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
+	use kdeprefix || mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
 
 	# Set environment
 	QTEST_COLORED=1
@@ -597,7 +577,33 @@
 	# hardcode path to *.cmake KDE files
 	PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
 
-	[ -e CMakeLists.txt ] && cmake-utils_src_configureout
+	# additonal arguments for KOFFICE
+	if [[ $KMNAME = koffice ]]; then
+		case ${PN} in
+			koffice-data) : ;;
+			*)
+				mycmakeargs="${mycmakeargs}
+					-DWITH_OpenEXR=ON
+					$(cmake-utils_use_with crypt QCA2)
+					$(cmake-utils_use_with opengl OpenGL)"
+				if use crypt; then
+					mycmakeargs="${mycmakeargs}
+						-DQCA2_LIBRARIES=/usr/$(get_libdir)/qca2/libqca.so.2"
+				fi
+				;;
+		esac
+	fi
+
+	[ -e CMakeLists.txt ] && cmake-utils_src_configure
+}
+
+# @FUNCTION: kde4-base_src_compile
+# @DESCRIPTION:
+# General function for compiling KDE4 applications.
+kde4-base_src_compile() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	kde4-base_src_make
 }
 
 # @FUNCTION: kde4-base_src_make
@@ -607,7 +613,10 @@
 kde4-base_src_make() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	cmake-utils_src_make "$@"
+	if [[ -d "$WORKDIR/${PN}_build" ]]; then
+		pushd "${WORKDIR}"/${PN}_build > /dev/null
+	fi
+	[ -e [Mm]akefile ] && cmake-utils_src_make "$@"
 }
 
 # @FUNCTION: kde4-base_src_test
@@ -629,8 +638,12 @@
 kde4-base_src_install() {
 	debug-print-function ${FUNCNAME} "$@"
 
+	if [[ -n $KMSAVELIBS ]] ; then
+		install_library_dependencies
+	fi
+
 	kde4-base_src_make_doc
-	if [[ -d ${WORKDIR}/${PN}_build ]]; then
+	if [[ -d "$WORKDIR/${PN}_build" ]]; then
 		pushd "${WORKDIR}"/${PN}_build > /dev/null
 	fi
 	[ -e [Mm]akefile ] && cmake-utils_src_install
@@ -647,7 +660,7 @@
 		[[ -s $doc ]] && dodoc ${doc}
 	done
 
-	if [[ -z ${KMNAME} ]]; then
+	if [[ -z $KMNAME ]]; then
 		for doc in {apps,runtime,workspace,.}/*/{AUTHORS,README*}; do
 			if [[ -s $doc ]]; then
 				local doc_complete=${doc}
@@ -657,7 +670,7 @@
 		done
 	fi
 
-	if [[ -n ${KDEBASE} && -d "${D}"/usr/share/doc/${PF} ]]; then
+	if [[ -n ${KDEBASE} && -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/ || \



1.10                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.10&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.10&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.9&r2=1.10

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- kde4-functions.eclass	7 Oct 2008 01:41:36 -0000	1.9
+++ kde4-functions.eclass	12 Jan 2009 17:25:59 -0000	1.10
@@ -1,386 +1,49 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.9 2008/10/07 01:41:36 jmbsvicetto Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.10 2009/01/12 17:25:59 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
 # kde@gentoo.org
-# @BLURB: Common ebuild functions for monolithic and split KDE 4 packages
+# @BLURB: Common ebuild functions for KDE 4 packages
 # @DESCRIPTION:
 # This eclass contains all functions shared by the different eclasses,
-# for KDE 4 monolithic and split ebuilds.
-#
-# NOTE: This eclass uses the SLOT dependencies from EAPI="1" or compatible,
-# hence you must define EAPI="1" in the ebuild, before inheriting any eclasses.
+# for KDE 4 ebuilds.
+
+# @ECLASS-VARIABLE: EAPI
+# @DESCRIPTION:
+# By default kde eclass wants eapi 2 which might be redefinable.
+case ${EAPI} in
+	2) : ;;
+	*) die "No way! EAPI older than 2 is not supported." ;;
+esac
 
 # @ECLASS-VARIABLE: KDEBASE
 # @DESCRIPTION:
 # This gets set to a non-zero value when a package is considered a kde or
 # koffice ebuild.
 
-if [[ "${CATEGORY}" == "kde-base" ]]; then
+if [[ $CATEGORY = kde-base ]]; then
 	debug-print "${ECLASS}: KDEBASE ebuild recognized"
-	KDEBASE="kde-base"
+	KDEBASE=kde-base
 fi
 
 # is this a koffice ebuild?
-if [[ "${KMNAME}" == "koffice" || "${PN}" == "koffice" ]]; then
+if [[ $KMNAME = koffice || $PN = koffice ]]; then
 	debug-print "${ECLASS}: KOFFICE ebuild recognized"
-	KDEBASE="koffice"
+	KDEBASE=koffice
 fi
 
 # @ECLASS-VARIABLE: KDE_SLOTS
 # @DESCRIPTION:
-# The slots used by all KDE versions after 4.0 - this doesn't include kde-3.5 and the
-# live-ebuilds that use the following var.
-KDE_SLOTS=( "kde-4" "4.1" )
+# The slots used by all KDE versions later than 4.0. The live-ebuilds use
+# KDE_LIVE_SLOTS instead.
+KDE_SLOTS=( kde-4 4.1 4.2 )
 
 # @ECLASS-VARIABLE: KDE_LIVE_SLOTS
 # @DESCRIPTION:
 # The slots used by all KDE live versions.
-KDE_LIVE_SLOTS=( "kde-svn" )
-
-# @ECLASS-VARIABLE: KDE_DERIVATION_MAP
-# @DESCRIPTION:
-# Map of the monolithic->split ebuild derivation.
-# Used to build dependencies describing the relationships between them:
-# Monolithic ebuilds block their split counterparts in the same slot, and vice versa.
-#
-# Also see get-parent-package(), get-child-packages(), is-parent-package()
-KDE_DERIVATION_MAP='
-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/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
-kde-base/kdeaccessibility kde-base/kdeaccessibility-colorschemes
-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/kdeadmin kde-base/kcron
-kde-base/kdeadmin kde-base/kdat
-kde-base/kdeadmin kde-base/knetworkconf
-kde-base/kdeadmin kde-base/kpackage
-kde-base/kdeadmin kde-base/ksystemlog
-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-colorschemes
-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-kworldclock
-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/dolphin
-kde-base/kdebase kde-base/drkonqi
-kde-base/kdebase kde-base/kappfinder
-kde-base/kdebase kde-base/kcheckpass
-kde-base/kdebase kde-base/kcminit
-kde-base/kdebase kde-base/kcmshell
-kde-base/kdebase kde-base/kcontrol
-kde-base/kdebase kde-base/kde-menu
-kde-base/kdebase kde-base/kde-menu-icons
-kde-base/kdebase kde-base/kde-wallpapers
-kde-base/kdebase kde-base/kdebase-cursors
-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/kdesu
-kde-base/kdebase kde-base/kdialog
-kde-base/kdebase kde-base/kdm
-kde-base/kdebase kde-base/keditbookmarks
-kde-base/kdebase kde-base/kfile
-kde-base/kdebase kde-base/kfind
-kde-base/kdebase kde-base/khelpcenter
-kde-base/kdebase kde-base/khotkeys
-kde-base/kdebase kde-base/kiconfinder
-kde-base/kdebase kde-base/kinfocenter
-kde-base/kdebase kde-base/kioclient
-kde-base/kdebase kde-base/klipper
-kde-base/kdebase kde-base/kmenuedit
-kde-base/kdebase kde-base/kmimetypefinder
-kde-base/kdebase kde-base/knetattach
-kde-base/kdebase kde-base/knewstuff
-kde-base/kdebase kde-base/knotify
-kde-base/kdebase kde-base/konqueror
-kde-base/kdebase kde-base/konsole
-kde-base/kdebase kde-base/kpasswdserver
-kde-base/kdebase kde-base/kquitapp
-kde-base/kdebase kde-base/kreadconfig
-kde-base/kdebase kde-base/krunner
-kde-base/kdebase kde-base/kscreensaver
-kde-base/kdebase kde-base/ksmserver
-kde-base/kdebase kde-base/ksplash
-kde-base/kdebase kde-base/kstart
-kde-base/kdebase kde-base/kstartupconfig
-kde-base/kdebase kde-base/kstyles
-kde-base/kdebase kde-base/ksysguard
-kde-base/kdebase kde-base/ksystraycmd
-kde-base/kdebase kde-base/ktimezoned
-kde-base/kdebase kde-base/ktip
-kde-base/kdebase kde-base/ktraderclient
-kde-base/kdebase kde-base/kuiserver
-kde-base/kdebase kde-base/kurifilter-plugins
-kde-base/kdebase kde-base/kwin
-kde-base/kdebase kde-base/kwrite
-kde-base/kdebase kde-base/libkonq
-kde-base/kdebase kde-base/libkworkspace
-kde-base/kdebase kde-base/libplasma
-kde-base/kdebase kde-base/libtaskmanager
-kde-base/kdebase kde-base/nepomuk
-kde-base/kdebase kde-base/nsplugins
-kde-base/kdebase kde-base/phonon
-kde-base/kdebase kde-base/phonon-xine
-kde-base/kdebase kde-base/plasma
-kde-base/kdebase kde-base/plasma-apps
-kde-base/kdebase kde-base/plasma-workspace
-kde-base/kdebase kde-base/renamedlg-plugins
-kde-base/kdebase kde-base/solid
-kde-base/kdebase kde-base/solid-hardware
-kde-base/kdebase kde-base/soliduiserver
-kde-base/kdebase kde-base/systemsettings
-kde-base/kdebindings kde-base/kalyptus
-kde-base/kdebindings kde-base/kdejava
-kde-base/kdebindings kde-base/kimono
-kde-base/kdebindings kde-base/kjsembed
-kde-base/kdebindings kde-base/korundum
-kde-base/kdebindings kde-base/krossjava
-kde-base/kdebindings kde-base/krosspython
-kde-base/kdebindings kde-base/krossruby
-kde-base/kdebindings kde-base/pykde4
-kde-base/kdebindings kde-base/qtjava
-kde-base/kdebindings kde-base/qtruby
-kde-base/kdebindings kde-base/qtsharp
-kde-base/kdebindings kde-base/qyoto
-kde-base/kdebindings kde-base/smoke
-kde-base/kdebindings kde-base/xparts
-kde-base/kdeedu kde-base/blinken
-kde-base/kdeedu kde-base/kalgebra
-kde-base/kdeedu kde-base/kalzium
-kde-base/kdeedu kde-base/kanagram
-kde-base/kdeedu kde-base/kbruch
-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/klettres
-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/kwordquiz
-kde-base/kdeedu kde-base/libkdeedu
-kde-base/kdeedu kde-base/marble
-kde-base/kdeedu kde-base/parley
-kde-base/kdeedu kde-base/step
-kde-base/kdegames kde-base/bovo
-kde-base/kdegames kde-base/katomic
-kde-base/kdegames kde-base/kbattleship
-kde-base/kdegames kde-base/kblackbox
-kde-base/kdegames kde-base/kblocks
-kde-base/kdegames kde-base/kbounce
-kde-base/kdegames kde-base/kbreakout
-kde-base/kdegames kde-base/kdiamond
-kde-base/kdegames kde-base/kfourinline
-kde-base/kdegames kde-base/kgoldrunner
-kde-base/kdegames kde-base/kiriki
-kde-base/kdegames kde-base/kjumpingcube
-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/kollision
-kde-base/kdegames kde-base/konquest
-kde-base/kdegames kde-base/kpat
-kde-base/kdegames kde-base/kreversi
-kde-base/kdegames kde-base/ksame
-kde-base/kdegames kde-base/kshisen
-kde-base/kdegames kde-base/ksirk
-kde-base/kdegames kde-base/kspaceduel
-kde-base/kdegames kde-base/ksquares
-kde-base/kdegames kde-base/ksudoku
-kde-base/kdegames kde-base/ktuberling
-kde-base/kdegames kde-base/kubrick
-kde-base/kdegames kde-base/libkdegames
-kde-base/kdegames kde-base/libkmahjongg
-kde-base/kdegames kde-base/lskat
-kde-base/kdegraphics kde-base/gwenview
-kde-base/kdegraphics kde-base/kamera
-kde-base/kdegraphics kde-base/kcolorchooser
-kde-base/kdegraphics kde-base/kdegraphics-strigi-analyzer
-kde-base/kdegraphics kde-base/kgamma
-kde-base/kdegraphics kde-base/kghostview
-kde-base/kdegraphics kde-base/kolourpaint
-kde-base/kdegraphics kde-base/kruler
-kde-base/kdegraphics kde-base/ksaneplugin
-kde-base/kdegraphics kde-base/ksnapshot
-kde-base/kdegraphics kde-base/libkdcraw
-kde-base/kdegraphics kde-base/libkexiv2
-kde-base/kdegraphics kde-base/libkipi
-kde-base/kdegraphics kde-base/libksane
-kde-base/kdegraphics kde-base/libkscan
-kde-base/kdegraphics kde-base/okular
-kde-base/kdegraphics kde-base/svgpart
-kde-base/kdemultimedia kde-base/dragonplayer
-kde-base/kdemultimedia kde-base/juk
-kde-base/kdemultimedia kde-base/kdemultimedia-kioslaves
-kde-base/kdemultimedia kde-base/kdemultimedia-strigi-analyzer
-kde-base/kdemultimedia kde-base/kmix
-kde-base/kdemultimedia kde-base/kscd
-kde-base/kdemultimedia kde-base/libkcddb
-kde-base/kdemultimedia kde-base/libkcompactdisc
-kde-base/kdenetwork kde-base/kdenetwork-filesharing
-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/kppp
-kde-base/kdenetwork kde-base/krdc
-kde-base/kdenetwork kde-base/krfb
-kde-base/kdepim kde-base/akonadi
-kde-base/kdepim kde-base/akregator
-kde-base/kdepim kde-base/certmanager
-kde-base/kdepim kde-base/kabc2mutt
-kde-base/kdepim kde-base/kabcclient
-kde-base/kdepim kde-base/kaddressbook
-kde-base/kdepim kde-base/kalarm
-kde-base/kdepim kde-base/kdemaildir
-kde-base/kdepim kde-base/kdepim-icons
-kde-base/kdepim kde-base/kdepim-kioslaves
-kde-base/kdepim kde-base/kdepim-kresources
-kde-base/kdepim kde-base/kdepim-strigi-analyzer
-kde-base/kdepim kde-base/kdepim-wizards
-kde-base/kdepim kde-base/kfeed
-kde-base/kdepim kde-base/kitchensync
-kde-base/kdepim kde-base/kjots
-kde-base/kdepim kde-base/kleopatra
-kde-base/kdepim kde-base/kmail
-kde-base/kdepim kde-base/kmailcvt
-kde-base/kdepim kde-base/kmobiletools
-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/kontactinterfaces
-kde-base/kdepim kde-base/korganizer
-kde-base/kdepim kde-base/korn
-kde-base/kdepim kde-base/kpilot
-kde-base/kdepim kde-base/ktimetracker
-kde-base/kdepim kde-base/ktnef
-kde-base/kdepim kde-base/libkdepim
-kde-base/kdepim kde-base/libkholidays
-kde-base/kdepim kde-base/libkleo
-kde-base/kdepim kde-base/libkpgp
-kde-base/kdepim kde-base/libksieve
-kde-base/kdepim kde-base/mailtransport
-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/kate
-kde-base/kdesdk kde-base/kbabel
-kde-base/kdesdk kde-base/kbugbuster
-kde-base/kdesdk kde-base/kcachegrind
-kde-base/kdesdk kde-base/kdeaccounts-plugin
-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/kdesdk-strigi-analyzer
-kde-base/kdesdk kde-base/kmtrace
-kde-base/kdesdk kde-base/kompare
-kde-base/kdesdk kde-base/kspy
-kde-base/kdesdk kde-base/kstartperf
-kde-base/kdesdk kde-base/kuiviewer
-kde-base/kdesdk kde-base/lokalize
-kde-base/kdesdk kde-base/poxml
-kde-base/kdesdk kde-base/strigi-analyzer
-kde-base/kdesdk kde-base/umbrello
-kde-base/kdetoys kde-base/amor
-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/kdeutils kde-base/ark
-kde-base/kdeutils kde-base/kcalc
-kde-base/kdeutils kde-base/kcharselect
-kde-base/kdeutils kde-base/kdessh
-kde-base/kdeutils kde-base/kdf
-kde-base/kdeutils kde-base/kfloppy
-kde-base/kdeutils kde-base/kgpg
-kde-base/kdeutils kde-base/kmilo
-kde-base/kdeutils kde-base/kregexpeditor
-kde-base/kdeutils kde-base/ktimer
-kde-base/kdeutils kde-base/kwallet
-kde-base/kdeutils kde-base/okteta
-kde-base/kdeutils kde-base/superkaramba
-kde-base/kdeutils kde-base/sweeper
-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
-'
-
-# @FUNCTION: get-parent-package
-# @USAGE: <split ebuild>
-# @DESCRIPTION:
-# Echoes the name of the monolithic package that a given split ebuild was derived from.
-get-parent-package() {
-	local parent child
-	while read parent child; do
-		if [[ "${child}" == "$1" ]]; then
-			echo ${parent}
-			return 0
-		fi
-	done <<< "$KDE_DERIVATION_MAP"
-	die "Package $target not found in KDE_DERIVATION_MAP, please report bug"
-}
-
-# @FUNCTION: get-child-packages
-# @USAGE: <monolithic ebuild>
-# @DESCRIPTION:
-# Echoes the names of all (split) ebuilds derived from a given monolithic ebuild.
-get-child-packages() {
-	local parent child
-	while read parent child; do
-		[[ "${parent}" == "$1" ]] && echo -n "${child} "
-	done <<< "$KDE_DERIVATION_MAP"
-}
-
-# @FUNCTION: is-parent-package
-# @USAGE: <$CATEGORY/$PN>
-# @DESCRIPTION:
-# Returns zero exit-status if the given package is a parent (monolithic) ebuild.
-# Returns non-zero exit-status if it's not.
-is-parent-package() {
-	local parent child
-	while read parent child; do
-		[[ "${parent}" == "$1" ]] && return 0
-	done <<< "$KDE_DERIVATION_MAP"
-	return 1
-}
+KDE_LIVE_SLOTS=( live )
 
 # @FUNCTION: buildsycoca
 # @DESCRIPTION:
@@ -391,7 +54,7 @@
 buildsycoca() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if [[ -x ${KDEDIR}/bin/kbuildsycoca4 && -z "${ROOT%%/}" ]]; then
+	if [[ -z ${ROOT%%/} && -x ${KDEDIR}/bin/kbuildsycoca4 ]]; then
 		# Make sure tha cache file exists, or kbuildsycoca4 will fail
 		touch "${KDEDIR}/share/kde4/services/ksycoca4"
 
@@ -411,8 +74,8 @@
 # @FUNCTION: comment_all_add_subdirectory
 # @USAGE: [list of directory names]
 # @DESCRIPTION:
-# recursively comment all add_subdirectory instructions in listed directories
-# except the ones in cmake/.
+# Recursively comment all add_subdirectory instructions in listed directories,
+# except those in cmake/.
 comment_all_add_subdirectory() {
 	find "$@" -name CMakeLists.txt -print0 | grep -vFzZ "./cmake" | \
 		xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' -e '/ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' || \
@@ -421,10 +84,10 @@
 
 # @ECLASS-VARIABLE: KDE_LINGUAS
 # @DESCRIPTION:
-# This is a whitespace-separated list of translations that this ebuild supports.
-# These translations automatically get added to IUSE. Therefore ebuilds must set
-# this variable before inheriting any eclasses. To only enable selected
-# translations ebuilds must call enable_selected_linguas(). kde4-base.eclass does
+# This is a whitespace-separated list of translations this ebuild supports.
+# These translations are automatically added to IUSE. Therefore ebuilds must set
+# this variable before inheriting any eclasses. To enable only selected
+# translations, ebuilds must call enable_selected_linguas(). kde4-base.eclass does
 # this for you.
 #
 # Example: KDE_LINGUAS="en_GB de nl"
@@ -434,125 +97,215 @@
 
 # @FUNCTION: enable_selected_linguas
 # @DESCRIPTION:
-# Enable translations based on LINGUAS settings and what translations are
-# supported (see KDE_LINGUAS). By default translations are found in "${S}"/po
+# Enable translations based on LINGUAS settings and translations supported by
+# the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po
 # but this default can be overridden by defining KDE_LINGUAS_DIR.
 enable_selected_linguas() {
-	local lingua
+	local lingua sr_mess wp
+	# inform user about kde-l10n for full translation.
+	if ! has_version kde-base/kde-l10n; then
+		echo
+		elog "For fully translated application you should also emerge"
+		elog "kde-base/kde-l10n package which ships translated kde core"
+		elog "strings."
+		echo
+	fi
+
+	# ebuild overridable linguas directory definition
+	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:=${S}/po}
+	cd "$KDE_LINGUAS_DIR" || die "wrong linguas dir specified"
+
+	# fix all various crazy sr@Latn variations
+	# this part is only ease for ebuilds, so there wont be any die when this
+	# fail at any point
+	sr_mess="sr@latn sr@latin sr@Latin"
+	for wp in ${sr_mess}; do
+		[[ -e "$wp.po" ]] && mv "$wp.po" "sr@Latn.po"
+		if [[ -d "$wp" ]]; then
+			# move dir and fix cmakelists
+			mv "$wp" "sr@Latn"
+			sed -i \
+				-e "s:$wp:sr@Latin:g" \
+				CMakeLists.txt
+		fi
+	done
 
 	for lingua in ${KDE_LINGUAS}; do
-		if [ -e "${S}"/po/"${lingua}".po ]; then
-			mv "${S}"/po/"${lingua}".po "${S}"/po/"${lingua}".po.old
+		if [[ -e "$lingua.po" ]]; then
+			mv "$lingua.po" "$lingua.po.old"
 		fi
 	done
-	comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
+	comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
 	for lingua in ${LINGUAS}; do
-		if [ -d "${S}"/po/"${lingua}" ]; then
+		ebegin "Enabling LANGUAGE: ${lingua}"
+		if [[ -d "$lingua" ]]; then
 			sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 				-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
-				-i "${KDE_LINGUAS_DIR:-${S}/po}"/CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
+				-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
 		fi
-		if [ -e "${S}"/po/"${lingua}".po.old ]; then
-			mv "${S}"/po/"${lingua}".po.old "${S}"/po/"${lingua}".po
+		if [[ -e "$lingua.po.old" ]]; then
+			mv "$lingua.po.old" "$lingua.po"
 		fi
+		eend $?
 	done
 }
 
-# @ECLASS-VARIABLE: QT4_BUILT_WITH_USE_CHECK
+# @FUNCTION: koffice_fix_libraries
 # @DESCRIPTION:
-# A list of USE flags that x11-libs/qt:4 needs to be built with.
-#
-# This list is automatically appended to KDE4_BUILT_WITH_USE_CHECK,
-# so don't call qt4_pkg_setup manually.
-
-# @ECLASS-VARIABLE: KDE4_BUILT_WITH_USE_CHECK
+# replace the weird koffice lib search with hardcoded one, so it
+# actually builds and works.
+koffice_fix_libraries() {
+	local LIB_ARRAY R_QT_kostore R_BAS_kostore R_BAS_koodf R_KROSS_kokross R_QT_komain
+	local R_CMS_pigmentcms R_BAS_pigmentcms R_BAS_koresources R_BAS_flake R_BAS_koguiutils
+	local R_BAS_kopageapp R_BAS_kotext R_BAS_kowmf libname R
+	case ${PN} in
+		koffice-data|koffice-libs)
+			;;
+		*)
+			### basic array
+			LIB_ARRAY="kostore koodf kokross komain pigmentcms koresources flake koguiutils kopageapp kotext kowmf"
+			### dep array
+			R_QT_kostore="\"/usr/$(get_libdir)/qt4/libQtCore.so\"
+				\"/usr/$(get_libdir)/qt4/libQtXml.so\"
+				\"${KDEDIR}/$(get_libdir)/libkdecore.so\""
+			R_BAS_kostore="libkostore ${R_QT_kostore}"
+			R_BAS_koodf="libkoodf ${R_BAS_kostore}"
+			R_KROSS_kokross="
+				\"${KDEDIR}/$(get_libdir)/libkrossui.so\"
+				\"${KDEDIR}/$(get_libdir)/libkrosscore.so\""
+			R_BAS_kokross="libkokross ${R_BAS_koodf} ${R_KROSS_kokross}"
+			R_QT_komain="\"/usr/$(get_libdir)/qt4/libQtGui.so\""
+			R_BAS_komain="libkomain ${R_BAS_koodf} ${R_QT_komain}"
+			R_CMS_pigmentcms="\"/usr/$(get_libdir)/liblcms.so\""
+			R_BAS_pigmentcms="libpigmentcms ${R_BAS_komain} ${R_CMS_pigmentcms}"
+			R_BAS_koresources="libkoresources ${R_BAS_pigmentcms}"
+			R_BAS_flake="libflake ${R_BAS_pigmentcms}"
+			R_BAS_koguiutils="libkoguiutils libkoresources libflake ${R_BAS_pigmentcms}"
+			R_BAS_kopageapp="libkopageapp ${R_BAS_koguitls}"
+			R_BAS_kotext="libkotext libkoresources libflake ${R_BAS_pigmentcms}"
+			### additional unmentioned stuff
+			R_BAS_kowmf="libkowmf"
+			for libname in ${LIB_ARRAY}; do
+				ebegin "Fixing library ${libname} with hardcoded path"
+				for libpath in $(eval "echo \$R_BAS_${libname}"); do
+					if [[ "${libpath}" != "\"/usr/"* ]]; then
+						R="${R} \"${KDEDIR}/$(get_libdir)/${libpath}.so\""
+					else
+						R="${R} ${libpath}"
+					fi
+				done
+				find "${S}" -name CMakeLists.txt -print| xargs -i \
+					sed -i \
+						-e "s: ${libname} : ${R} :g" \
+						-e "s: ${libname}): ${R}):g" \
+						-e "s:(${libname} :(${R} :g" \
+						-e "s:(${libname}):(${R}):g" \
+						-e "s: ${libname}$: ${R}:g" \
+					{} || die "Fixing library names failed."
+				eend $?
+			done
+			;;
+	esac
+}
+# @FUNCTION: get_build_type
 # @DESCRIPTION:
-# The contents of $KDE4_BUILT_WITH_USE_CHECK gets fed to built_with_use
-# (eutils.eclass), line per line.
-#
-# Example:
-# @CODE
-# pkg_setup() {
-# 	KDE4_BUILT_WITH_USE_CHECK="--missing true sys-apps/dbus X"
-# 	use alsa && KDE4_BUILT_WITH_USE_CHECK="${KDE4_BUILT_WITH_USE_CHECK}
-# 		--missing true media-libs/alsa-lib midi"
-# 	kde4-base_pkg_setup
-# }
-# @CODE
-
-# run built_with_use on each flag and print appropriate error messages if any
-# flags are missing
-_kde4-functions_built_with_use() {
-	local missing opt pkg flag flags
-
-	if [[ ${1} = "--missing" ]]; then
-		missing="${1} ${2}" && shift 2
-	fi
-	if [[ ${1:0:1} = "-" ]]; then
-		opt=${1} && shift
-	fi
-
-	pkg=${1} && shift
-
-	for flag in "${@}"; do
-		flags="${flags} ${flag}"
-		if ! built_with_use ${missing} ${opt} ${pkg} ${flag}; then
-			flags="${flags}*"
-		else
-			[[ ${opt} = "-o" ]] && return 0
-		fi
-	done
-	if [[ "${flags# }" = "${@}" ]]; then
-		return 0
-	fi
-	if [[ ${opt} = "-o" ]]; then
-		eerror "This package requires '${pkg}' to be built with any of the following USE flags: '$*'."
+# Determine whether we are using live ebuild or tbzs.
+get_build_type() {
+	if [[ $SLOT = live || $PV = 9999* ]]; then
+		BUILD_TYPE="live"
 	else
-		eerror "This package requires '${pkg}' to be built with the following USE flags: '${flags# }'."
+		BUILD_TYPE="release"
 	fi
-	return 1
+	export BUILD_TYPE
 }
 
-# @FUNCTION: kde4-functions_check_use
+# @FUNCTION: get_latest_kdedir
 # @DESCRIPTION:
-# Check if the Qt4 libraries are built with the USE flags listed in
-# $QT4_BUILT_WITH_USE_CHECK.
-#
-# Check if a list of packages are built with certain USE flags, as listed in
-# $KDE4_BUILT_WITH_USE_CHECK.
-#
-# If any of the required USE flags are missing, an eerror will be printed for
-# each package with missing USE flags.
-kde4-functions_check_use() {
-	# I like to keep flags sorted
-	QT4_BUILT_WITH_USE_CHECK=$(echo "${QT4_BUILT_WITH_USE_CHECK}" | \
-		tr '[:space:]' '\n' | sort | uniq | xargs)
-
-	local line missing
-	if [[ -n ${KDE4_BUILT_WITH_USE_CHECK[@]} && $(declare -p KDE4_BUILT_WITH_USE_CHECK) = 'declare -a '* ]]; then
-		KDE4_BUILT_WITH_USE_CHECK=("x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}"
-			"${KDE4_BUILT_WITH_USE_CHECK[@]}")
-
-		for line in "${KDE4_BUILT_WITH_USE_CHECK[@]}"; do
-			[[ -z ${line} ]] && continue
-			if ! _kde4-functions_built_with_use ${line}; then
-				missing=true
+# We set up KDEDIR according to the latest KDE version installed; installing our
+# package for all available installs is just insane.
+# We can check for kdelibs because it is the most basic package; no KDE package
+# working without it. This might be changed in future.
+get_latest_kdedir() {
+	if [[ $NEED_KDE = latest && $KDEBASE != kde-base ]]; then
+		case ${KDE_WANTED} in
+			# note this will need to be updated as stable moves and so on
+			live)
+				_versions="9999 4.1.69 4.1.0"
+				;;
+			snapshot)
+				_versions="4.1.69 4.1.0 9999"
+				;;
+			testing)
+				_versions="4.1.0 4.1.69 9999"
+				;;
+			stable)
+				_versions="4.1.0 4.1.69 9999"
+				;;
+			*) die "KDE_WANTED=${KDE_WANTED} not supported here." ;;
+		esac
+		# check if exists and fallback as we go
+		for X in ${_versions}; do
+			if has_version ">=kde-base/kdelibs-${X}"; then
+				# figure out which X we are in and set it into _kdedir
+				case ${X} in
+					# also keep track here same for kde_wanted
+					9999)
+						_kdedir="live"
+						break
+					;;
+					4.1.69)
+						_kdedir="4.2"
+						break
+					;;
+					4.1.0)
+						_kdedir="4.1"
+						break
+					;;
+				esac
 			fi
 		done
-	else
-		KDE4_BUILT_WITH_USE_CHECK="x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}
-				${KDE4_BUILT_WITH_USE_CHECK}"
-
-		while read line; do
-			[[ -z ${line} ]] && continue
-			if ! _kde4-functions_built_with_use ${line}; then
-				missing=true
-			fi
-		done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
-	fi
-	if [[ -n ${missing} ]]; then
-		echo
-		eerror "Flags marked with an * are missing."
-		die "Missing USE flags found"
 	fi
 }
+
+# Functions handling KMLOADLIBS and KMSAVELIBS
+
+# @FUNCTION: save_library_dependencies
+# @DESCRIPTION:
+# Add exporting CMake dependencies for current package
+save_library_dependencies() {
+	local depsfile="${T}/${PN}:${SLOT}"
+
+	ebegin "Saving library dependendencies in ${depsfile##*/}"
+	echo "EXPORT_LIBRARY_DEPENDENCIES(\"${depsfile}\")" >> "${S}/CMakeLists.txt" || \
+		die "Failed to save the library dependencies."
+	eend $?
+}
+
+# @FUNCTION: install_library_dependencies
+# @DESCRIPTION:
+# Install generated CMake library dependencies to /var/lib/kde
+install_library_dependencies() {
+	local depsfile="$T/$PN:$SLOT"
+	ebegin "Installing library dependendencies as ${depsfile##*/}"
+	insinto /var/lib/kde
+	doins "${depsfile}" || die "Failed to install library dependencies."
+	eend $?
+}
+
+# @FUNCTION: load_library_dependencies
+# @DESCRIPTION:
+# Inject specified library dependencies in current package
+load_library_dependencies() {
+	local pn i depsfile
+	ebegin "Injecting library dependendencies from '${KMLOADLIBS}'"
+
+	i=0
+	for pn in ${KMLOADLIBS} ; do
+		((i++))
+		depsfile="/var/lib/kde/${pn}:${SLOT}"
+		[[ -r "${depsfile}" ]] || die "Depsfile '${depsfile}' not accessible. You probably need to reinstall ${pn}."
+		sed -i -e "${i}iINCLUDE(\"${depsfile}\")" "${S}/CMakeLists.txt" || \
+			die "Failed to include library dependencies for ${pn}"
+	done
+	eend $?
+}



1.9                  eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.9&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.9&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.8&r2=1.9

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- kde4-meta.eclass	3 Jan 2009 18:20:00 -0000	1.8
+++ kde4-meta.eclass	12 Jan 2009 17:25:59 -0000	1.9
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.8 2009/01/03 18:20:00 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.9 2009/01/12 17:25:59 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -11,54 +11,47 @@
 #
 # You must define KMNAME to use this eclass, and do so before inheriting it. All other variables are optional.
 # Do not include the same item in more than one of KMMODULE, KMMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY.
-#
-# NOTE: This eclass uses the SLOT dependencies from EAPI="1" or compatible,
-# hence you must define EAPI="1" in the ebuild, before inheriting any eclasses.
 
-inherit multilib kde4-functions kde4-base
+# we want opengl optional in each koffice package
+if [[ $KMNAME = koffice ]]; then
+	case ${PN} in
+		koffice-data)
+			;;
+		*)
+			OPENGL_REQUIRED=optional
+			;;
+	esac
+fi
 
-case "${EAPI}" in
-	2)
-		EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
-		;;
-	*)
-		EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
-		;;
-esac
+inherit kde4-base versionator
+
+EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
 
 if [[ -z ${KMNAME} ]]; then
 	die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild"
 fi
 
 case ${KDEBASE} in
-	kde-base)	HOMEPAGE="http://www.kde.org/"
-				LICENSE="GPL-2" ;;
-	koffice)	HOMEPAGE="http://www.koffice.org/"
-				LICENSE="GPL-2" ;;
+	kde-base)
+		HOMEPAGE="http://www.kde.org/"
+		LICENSE="GPL-2"
+		;;
+	koffice)
+		HOMEPAGE="http://www.koffice.org/"
+		LICENSE="GPL-2"
+		;;
 esac
 
-debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - before blockers"
-debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - before blockers"
-
-# Add a blocker on the package we're derived from
-if [[ -n ${KDEBASE} ]]; then
-	DEPEND="${DEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
-	RDEPEND="${RDEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
-fi
-
-debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after blockers"
-debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after blockers"
-
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
 	kdebase|kdebase-workspace|kdebase-runtime)
 		DEPEND="${DEPEND} >=kde-base/qimageblitz-0.0.4"
 		RDEPEND="${RDEPEND} >=kde-base/qimageblitz-0.0.4"
-	;;
+		;;
 	kdepim)
 		DEPEND="${DEPEND} dev-libs/boost app-office/akonadi-server"
 		RDEPEND="${RDEPEND} dev-libs/boost"
-		if [[ ${PN} != kode ]]; then
+		if [[ $PN != kode ]]; then
 			DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}"
 			RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}"
 		fi
@@ -67,24 +60,40 @@
 				IUSE="+kontact"
 				DEPEND="${DEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
 				RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
-			;;
+				;;
 		esac
-	;;
+		;;
 	kdegames)
-		if [[ ${PN} != "libkdegames" ]]; then
+		if [[ $PN != libkdegames ]]; then
 			DEPEND="${DEPEND} >=kde-base/libkdegames-${PV}:${SLOT}"
 			RDEPEND="${RDEPEND} >=kde-base/libkdegames-${PV}:${SLOT}"
 		fi
-	;;
+		;;
 	koffice)
+		case ${PV} in
+			9999*) DEPEND="${DEPEND} !app-office/${PN}:2" ;;
+			1.9*|2*) DEPEND="${DEPEND} !app-office/${PN}:live" ;;
+		esac
+		DEPEND="${DEPEND}
+			!app-office/${PN}:0
+			!app-office/koffice:0
+			!app-office/koffice-meta:0"
 		case ${PN} in
-			koffice-libs|koffice-data) : ;;
+			koffice-data)
+				DEPEND="${DEPEND} media-libs/lcms"
+				RDEPEND="${RDEPEND} media-libs/lcms"
+				;;
 			*)
-			DEPEND="${DEPEND} >=app-office/koffice-libs-${PV}:${SLOT}"
-			RDEPEND="${RDEPEND} >=app-office/koffice-libs-${PV}:${SLOT}"
-			;;
+				IUSE="+crypt"
+				DEPEND="${DEPEND} crypt? ( >=app-crypt/qca-2 )"
+				RDEPEND="${RDEPEND} crypt? ( >=app-crypt/qca-2 )"
+				if [[ $PN != koffice-libs ]]; then
+					DEPEND="${DEPEND} >=app-office/koffice-libs-${PV}:${SLOT}"
+					RDEPEND="${RDEPEND} >=app-office/koffice-libs-${PV}:${SLOT}"
+				fi
+				;;
 		esac
-	;;
+		;;
 esac
 
 debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after metapackage-specific dependencies"
@@ -92,8 +101,9 @@
 
 # @ECLASS-VARIABLE: KMNAME
 # @DESCRIPTION:
-# Name of the parent-module (e.g. kdebase, kdepim, ...). You _must_ set it _before_ inheriting this eclass,
-# (unlike the other parameters), since it's used to set $SRC_URI.
+# Name of the parent-module (e.g. kdebase, kdepim, ...). You _must_ set it
+# _before_ inheriting this eclass, (unlike the other parameters), since it's
+# used to set $SRC_URI.
 
 # @ECLASS-VARIABLE: KMMODULE
 # @DESCRIPTION:
@@ -108,9 +118,10 @@
 # If set to "true", $KMMODULE doesn't have to be defined.
 #
 # Example usage: If you're installing subdirectories of a package, like plugins,
-# you mark the topsubdirectory (containing the package) as $KMEXTRACTONLY, and set KMNOMODULE="true".
-if [[ ${KMNOMODULE} != "true" && -z ${KMMODULE} ]]; then
-	KMMODULE=${PN}
+# you mark the top subdirectory (containing the package) as $KMEXTRACTONLY, and
+# set KMNOMODULE="true".
+if [[ -z $KMMODULE && $KMNOMODULE != true  ]]; then
+	KMMODULE=$PN
 fi
 
 # @ECLASS-VARIABLE: KMEXTRA
@@ -126,9 +137,10 @@
 # @DESCRIPTION:
 # All subdirectories listed here will be extracted & compiled, but not installed.
 
+# TODO: better formulation may be needed
 # @ECLASS-VARIABLE: KMEXTRACTONLY
 # @DESCRIPTION:
-# All subdirectories listed here will be extracted, but not compiled nor installed.
+# All subdirectories listed here will be extracted, but neither compiled nor installed.
 # This can be used to avoid compilation in a subdirectory of a directory in $KMMODULE or $KMEXTRA
 
 # @ECLASS-VARIABLE: KMTARPARAMS
@@ -138,8 +150,8 @@
 
 # @FUNCTION: kde4-meta_pkg_setup
 # @DESCRIPTION:
-# Currently just calls its equivalent in kde4-base.eclass(5). Use this in split
-# ebuilds.
+# Currently just calls its equivalent in kde4-base.eclass(5). Use this one in
+# split ebuilds.
 kde4-meta_pkg_setup() {
 	kde4-base_pkg_setup
 }
@@ -150,56 +162,111 @@
 # kde4-meta-src_extract.
 kde4-meta_src_unpack() {
 	debug-print-function  ${FUNCNAME} "$@"
-
-	kde4-meta_src_extract
-	kde4-meta_change_cmakelists
+	if [[ $BUILD_TYPE = live ]]; then
+		kde4-base_src_unpack
+		kde4-meta_src_extract
+	else
+		kde4-meta_src_extract
+	fi
 }
 
+# FIXME: the difference between kde4-meta_src_extract and kde4-meta_src_unpack?
+
 # @FUNCTION: kde4-meta_src_extract
 # @DESCRIPTION:
 # A function to unpack the source for a split KDE ebuild.
-# Also see KMMODULE, KMNOMODULE, KMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY and KMTARPARAMS.
+# Also see KMMODULE, KMNOMODULE, KMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY and
+# KMTARPARAMS.
 kde4-meta_src_extract() {
-	local abort tarball tarfile f extractlist
-	tarball="${KMNAME}-${PV}.tar.bz2"
-	tarfile="${DISTDIR}"/${tarball}
-
-	echo "Unpacking parts of ${tarball} to ${WORKDIR}"
-
-	kde4-meta_create_extractlists
-
-	for f in cmake/ CMakeLists.txt ConfigureChecks.cmake config.h.cmake \
-		AUTHORS COPYING INSTALL README NEWS ChangeLog
-	do
-		extractlist="${extractlist} ${KMNAME}-${PV}/${f}"
-	done
-	extractlist="${extractlist} $(__list_needed_subdirectories)"
-	KMTARPARAMS="${KMTARPARAMS} -j"
+	if [[ $BUILD_TYPE = live ]]; then
+		local rsync_options subdir kmnamedir targetdir
+		# Export working copy to ${S}
+		einfo "Exporting parts of working copy to ${S}"
+		kde4-meta_create_extractlists
+
+		rsync_options="--group --links --owner --perms --quiet --exclude=.svn/"
+
+		# Copy ${KMNAME} non-recursively (toplevel files)
+		rsync ${rsync_options} "${ESVN_WC_PATH}"/${kmnamedir}* "${S}" \
+			|| die "${ESVN}: can't export toplevel files to '${S}'."
+		# Copy cmake directory
+		if [[ -d "${ESVN_WC_PATH}/${kmnamedir}cmake" ]]; then
+			rsync --recursive ${rsync_options} "${ESVN_WC_PATH}/${kmnamedir}cmake" "${S}" \
+				|| die "${ESVN}: can't export cmake files to '${S}'."
+		fi
+		# Copy all subdirectories
+		for subdir in $(__list_needed_subdirectories); do
+				targetdir=""
+				if [[ $subdir = doc/* && ! -e "$ESVN_WC_PATH/$kmnamedir$subdir" ]]; then
+					continue
+				fi
+
+				[[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}"
+				rsync --recursive ${rsync_options} "${ESVN_WC_PATH}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \
+					|| die "${ESVN}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
+		done
 
-	pushd "${WORKDIR}" > /dev/null
-	[[ -n ${KDE4_STRICTER} ]] && echo tar -xpf $tarfile $KMTARPARAMS $extractlist >&2
-	tar -xpf $tarfile $KMTARPARAMS $extractlist 2> /dev/null
+		if [[ $KMNAME = kdebase-runtime && $PN != kdebase-data ]]; then
+			sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
+				"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
+		fi
+	else
+		local abort tarball tarfile f extractlist
+		case $KMNAME in
+			kdebase-apps)
+				tarball="${KMNAME#-apps}-${PV}.tar.bz2"
+				;;
+			*)
+				tarball="${KMNAME}-${PV}.tar.bz2"
+				;;
+		esac
+		tarfile="${DISTDIR}"/${tarball}
 
-	# Default $S is based on $P; rename the extracted directory to match $S
-	mv ${KMNAME}-${PV} ${P} || die "Died while moving \"${KMNAME}-${PV}\" to \"${P}\""
+		ebegin "Unpacking parts of ${tarball} to ${WORKDIR}"
 
-	popd > /dev/null
+		kde4-meta_create_extractlists
 
-	if [[ -n ${KDE4_STRICTER} ]]; then
-		for f in $(__list_needed_subdirectories fatal); do
-			if [[ ! -e ${S}/${f#*/} ]]; then
-				eerror "'${f#*/}' is missing"
-				abort=true
-			fi
+		for f in cmake/ CMakeLists.txt ConfigureChecks.cmake config.h.cmake \
+			AUTHORS COPYING INSTALL README NEWS ChangeLog
+		do
+			extractlist="${extractlist} ${KMNAME}-${PV}/${f}"
 		done
-		[[ -n ${abort} ]] && die "There were missing files."
-	fi
+		extractlist="${extractlist} $(__list_needed_subdirectories)"
+		KMTARPARAMS="${KMTARPARAMS} -j"
 
-	kde4-base_src_unpack
+		pushd "${WORKDIR}" > /dev/null
+		[[ -n ${KDE4_STRICTER} ]] && echo tar -xpf $tarfile $KMTARPARAMS $extractlist >&2
+		tar -xpf $tarfile $KMTARPARAMS $extractlist 2> /dev/null
+
+		# Default $S is based on $P; rename the extracted directory to match $S
+		mv ${KMNAME}-${PV} ${P} || die "Died while moving \"${KMNAME}-${PV}\" to \"${P}\""
+
+		popd > /dev/null
+
+		eend $?
+
+		if [[ -n ${KDE4_STRICTER} ]]; then
+			for f in $(__list_needed_subdirectories fatal); do
+				if [[ ! -e ${S}/${f#*/} ]]; then
+					eerror "'${f#*/}' is missing"
+					abort=true
+				fi
+			done
+			[[ -n ${abort} ]] && die "There were missing files."
+		fi
+		kde4-base_src_unpack
+	fi
+	# fix koffice linking
+	if [[ $KMNAME = koffice ]]; then
+		koffice_fix_libraries
+	fi
 }
 
+# @FUNCTION: kde4-meta_create_extractlists
+# @DESCRIPTION:
 # Create lists of files and subdirectories to extract.
-# Also see the descriptions of KMMODULE, KMNOMODULE, KMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY and KMTARPARAMS.
+# Also see descriptions of KMMODULE, KMNOMODULE, KMEXTRA, KMCOMPILEONLY,
+# KMEXTRACTONLY and KMTARPARAMS.
 kde4-meta_create_extractlists() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -214,54 +281,81 @@
 	# In those cases you should care to add the relevant files to KMEXTRACTONLY
 	case ${KMNAME} in
 		kdebase)
-		KMEXTRACTONLY="${KMEXTRACTONLY}
-			apps/config-apps.h.cmake
-			apps/ConfigureChecks.cmake"
-		;;
+			KMEXTRACTONLY="${KMEXTRACTONLY}
+				apps/config-apps.h.cmake
+				apps/ConfigureChecks.cmake"
+			;;
+		kdebase-apps)
+			KMEXTRACTONLY="${KMEXTRACTONLY}
+				config-apps.h.cmake
+				ConfigureChecks.cmake"
+			;;
 		kdebase-runtime)
-		KMEXTRACTONLY="${KMEXTRACTONLY}
-			config-runtime.h.cmake"
-		;;
+			KMEXTRACTONLY="${KMEXTRACTONLY}
+				config-runtime.h.cmake"
+			;;
 		kdebase-workspace)
-		KMEXTRACTONLY="${KMEXTRACTONLY}
-			config-unix.h.cmake
-			ConfigureChecks.cmake
-			config-workspace.h.cmake
-			config-X11.h.cmake
-			startkde.cmake"
-		;;
-		kdegames)
-		if [[ ${PN} != "libkdegames" ]]; then
 			KMEXTRACTONLY="${KMEXTRACTONLY}
-				libkdegames"
-		fi
-		;;
+				config-unix.h.cmake
+				ConfigureChecks.cmake
+				config-workspace.h.cmake
+				config-X11.h.cmake
+				startkde.cmake"
+			case ${SLOT} in
+				4.2)
+					KMEXTRACTONLY="${KMEXTRACTONLY}
+						KDE4WorkspaceConfig.cmake.in"
+					;;
+				*) : ;;
+			esac
+			;;
+		kdegames)
+			if [[ ${PN} != "libkdegames" ]]; then
+				KMEXTRACTONLY="${KMEXTRACTONLY}
+					libkdegames"
+			fi
+			;;
 		kdepim)
-		KMEXTRACTONLY="${KMEXTRACTONLY}
-			kleopatra/ConfigureChecks.cmake"
-		if has kontact ${IUSE//+} && use kontact; then
-			KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
-			KMEXTRACTONLY="${KMEXTRACTONLY} kontactinterfaces/"
-		fi
-		;;
+			KMEXTRACTONLY="${KMEXTRACTONLY}
+				kleopatra/ConfigureChecks.cmake
+				libkdepim/kdepim_export.h"
+			if has kontact ${IUSE//+} && use kontact; then
+				KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
+				KMEXTRACTONLY="${KMEXTRACTONLY} kontactinterfaces/"
+			fi
+			;;
 		koffice)
 			KMEXTRACTONLY="${KMEXTRACTONLY}
 				config-endian.h.cmake
 				filters/config-filters.h.cmake
+				config-openctl.h.cmake
 				config-openexr.h.cmake
 				config-opengl.h.cmake
 				config-prefix.h.cmake"
-		;;
+			case ${PN} in
+				koffice-libs|koffice-data)
+					;;
+				*)
+					# add basic extract for all packages
+					KMEXTRACTONLY="${KMEXTRACTONLY}
+						filters/
+						libs/
+						plugins/"
+					if [[ ${PN} != "kplato" ]]; then
+						KMEXTRA="${KMEXTRA} filters/${PN}"
+					fi
+					;;
+			esac
+			;;
 	esac
-	# Don't install cmake modules for split ebuilds to avoid collisions.
+	# Don't install cmake modules for split ebuilds, to avoid collisions.
 	case ${KMNAME} in
 		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics|kdepim)
 			case ${PN} in
-				libkdegames|libkdeedu|marble)
+				libkdegames|libkdeedu|marble|libkworkspace)
 					KMEXTRA="${KMEXTRA}
 						cmake/modules/"
 					;;
-
 				*)
 					KMCOMPILEONLY="${KMCOMPILEONLY}
 						cmake/modules/"
@@ -289,7 +383,7 @@
 	done
 
 	# Expand KMMODULE
-	if [[ -n ${KMMODULE}  ]]; then
+	if [[ -n $KMMODULE  ]]; then
 		kmmodule_expanded="${KMMODULE}"
 		j=$(dirname ${KMMODULE})
 		while [[ ${j} != "." ]]; do
@@ -328,51 +422,18 @@
 	echo ${extractlist}
 }
 
-save_library_dependencies() {
-	local depsfile="${T}/${PN}:${SLOT}"
-
-	echo "Saving library dependendencies in ${depsfile##*/}"
-	echo "EXPORT_LIBRARY_DEPENDENCIES(\"${depsfile}\")" >> "${S}/CMakeLists.txt" || \
-		die "Failed to save the library dependencies."
-}
-
-install_library_dependencies() {
-	local depsfile="${T}/${PN}:${SLOT}"
-	echo "Installing library dependendencies as ${depsfile##*/}"
-	insinto /var/lib/kde
-	doins "${depsfile}" || die "Failed to install library dependencies."
-}
-
-load_library_dependencies() {
-	local pn i depsfile
-	echo "Injecting library dependendencies from '${KMLOADLIBS}'"
-
-	i=0
-	for pn in ${KMLOADLIBS} ; do
-		((i++))
-		depsfile="/var/lib/kde/${pn}:${SLOT}"
-		[[ -r "${depsfile}" ]] || die "Depsfile '${depsfile}' not accessible. You probably need to reinstall ${pn}."
-		sed -i -e "${i}iINCLUDE(\"${depsfile}\")" "${S}/CMakeLists.txt" || \
-			die "Failed to include library dependencies for ${pn}"
-	done
-}
-
-# @FUNCTION: kde4-meta_src_compile
+# @FUNCTION: kde4-meta_src_prepare
 # @DESCRIPTION:
-# General function for compiling split KDE4 applications.
-kde4-meta_src_compile() {
+# Meta-package build system configuration handling - commenting out targets, etc..
+kde4-meta_src_prepare() {
 	debug-print-function  ${FUNCNAME} "$@"
 
-	case "${EAPI}" in
-		2 | 2_pre3 | 2_pre2 | 2_pre1)
-		;;
-		*)
-			kde4-base_meta_configure
-		;;
-	esac
-	kde4-meta_src_make
+	kde4-meta_change_cmakelists
+	kde4-base_src_prepare
 }
 
+
+# FIXME: no comment here?
 _change_cmakelists_parent_dirs() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -390,19 +451,14 @@
 	done
 }
 
+# FIXME: add description
+# @FUNCTION: kde4-meta_change_cmakelists
+# @DESCRIPTION:
 kde4-meta_change_cmakelists() {
 	debug-print-function  ${FUNCNAME} "$@"
 
 	pushd "${S}" > /dev/null
 
-	if [[ -n ${KMSAVELIBS} ]] ; then
-		save_library_dependencies
-	fi
-
-	if [[ -n ${KMLOADLIBS} ]] ; then
-		load_library_dependencies
-	fi
-
 	comment_all_add_subdirectory ./
 
 	# Restore "add_subdirectory( cmake )" in ${S}/CMakeLists.txt
@@ -462,65 +518,47 @@
 
 	case ${KMNAME} in
 		kdebase-workspace)
-		# COLLISION PROTECT section
-		# Only install the startkde script as part of kde-base/kdebase-startkde,
-		# instead of with every package.
-		if [[ ${PN} != "kdebase-startkde" && -f "${S}"/CMakeLists.txt ]]; then
-			case ${PV} in
-				*) # The startkde script moved to kdebase-workspace for KDE4 versions > 3.93.0.
+			# COLLISION PROTECT section
+			# Install the startkde script just once, as a part of kde-base/kdebase-startkde,
+			# not as a part of every package.
+			if [[ ${PN} != "kdebase-startkde" && -f "${S}"/CMakeLists.txt ]]; then
+				# The startkde script moved to kdebase-workspace for KDE4 versions > 3.93.0.
 				sed -i -e '/startkde/s/^/#DONOTINSTALL /' "${S}"/CMakeLists.txt || \
 					die "${LINENO}: sed died in the kdebase-startkde collision prevention section"
-				;;
-			esac
-		fi
-		;;
+			fi
+			# Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82
+			if [[ ${SLOT} == 4.2 ]] || [[ ${PV} == 9999 ]]; then
+				if [[ ${PN} != libkworkspace ]]; then
+					sed -i -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
+						CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip EXPORT section"
+				fi
+			fi
+			;;
 		kdebase-runtime)
-		# COLLISION PROTECT section
-		# Only install the kde4 script as part of kde-base/kdebase-data
-		if [[ ${PN} != "kdebase-data" && -f "${S}"/CMakeLists.txt ]]; then
-			sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
-				"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
-		fi
-		;;
+			# COLLISION PROTECT section
+			# Only install the kde4 script as part of kde-base/kdebase-data
+			if [[ ${PN} != "kdebase-data" && -f "${S}"/CMakeLists.txt ]]; then
+				sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
+					"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
+			fi
+			;;
 		kdepim)
-		case ${PN} in
-			kaddressbook|kalarm|kmailcvt|kontact|korganizer|korn)
-			sed -i -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
-				-e '/add_custom_target(kmail_xml /,/)/p' "${S}"/kmail/CMakeLists.txt || die "uncommenting xml failed"
-			_change_cmakelists_parent_dirs kmail
+			case ${PN} in
+				kaddressbook|kalarm|kmailcvt|kontact|korganizer|korn)
+					sed -i -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
+						-e '/add_custom_target(kmail_xml /,/)/p' "${S}"/kmail/CMakeLists.txt || die "uncommenting xml failed"
+					_change_cmakelists_parent_dirs kmail
+				;;
+			esac
 			;;
-		esac
-		;;
-		kdeutils)
-		# This is sort of a hack to avoid patching 16 kdeutils packages with
-		# r775410 from upstream trunk which makes blitz optional so superkaramba
-		# only gets compiled when it is found. Bug #209324. Remove this no later
-		# than 4.1.
-		if [[ ${PN} != superkaramba && ${SLOT} == kde-4 ]]; then
-			sed -i -e '/find_package(Blitz REQUIRED)/d' "${S}"/CMakeLists.txt \
-				|| die "${LINENO}: sed to remove dependency on Blitz failed."
-		fi
-		;;
-		koffice)
-		if [[ ${PN} != koffice-libs ]]; then
-			sed -i -e '/^INSTALL(FILES.*koffice.desktop/ s/^/#DONOTINSTALL /' \
-				doc/CMakeLists.txt || \
-				die "${LINENO}: sed died in the koffice.desktop collision prevention section"
-		fi
-		;;
 	esac
 
 	popd > /dev/null
 }
 
-# transition function so we will work with soon to come eclasses.
-kde4-meta_src_prepare() {
-	kde4-base_src_prepare
-}
-
 # @FUNCTION: kde4-meta_src_configure
 # @DESCRIPTION:
-# Currently just calls its equivalent in kde4-base.eclass(5). Use this in split
+# Currently just calls its equivalent in kde4-base.eclass(5). Use this one in split
 # ebuilds.
 kde4-meta_src_configure() {
 	debug-print-function  ${FUNCNAME} "$@"
@@ -528,11 +566,11 @@
 	kde4-base_src_configure
 }
 
-# @FUNCTION: kde4-meta_src_make
+# @FUNCTION: kde4-meta_src_compile
 # @DESCRIPTION:
-# Currently just calls its equivalent in kde4-base.eclass(5). Use this in split
-# ebuilds.
-kde4-meta_src_make() {
+# General function for compiling split KDE4 applications.
+# Overrides kde4-base_src_compile.
+kde4-meta_src_compile() {
 	debug-print-function  ${FUNCNAME} "$@"
 
 	kde4-base_src_make
@@ -557,14 +595,20 @@
 	kde4-meta_src_make_doc
 	cmake-utils_src_install
 
-	if [[ -n ${KMSAVELIBS} ]] ; then
+	if [[ -n ${KMSAVELIBS} ]]; then
 		install_library_dependencies
 	fi
+
+	# remove unvanted koffice stuff
+	if [[ $KMNAME = koffice && $PN != koffice-data ]]; then
+		rm "$D/$KDEDIR/include/config-openexr.h"
+		rm "$D/$KDEDIR/share/apps/cmake/modules/FindKOfficeLibs.cmake"
+	fi
 }
 
 # @FUNCTION: kde4-meta_src_make_doc
 # @DESCRIPTION:
-# This function searches under ${S}/${KMMODULE},
+# This function searches in ${S}/${KMMODULE},
 # and tries to install "AUTHORS ChangeLog* README* NEWS todo" if these files exist.
 kde4-meta_src_make_doc() {
 	debug-print-function  $FUNCNAME "$@"
@@ -592,3 +636,4 @@
 kde4-meta_pkg_postrm() {
 	kde4-base_pkg_postrm
 }
+






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-01-12 19:40 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-01-12 19:40 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/01/12 19:40:34

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Add one missed patch for the eclasses. Affect only live stuff so no breakage for tree users. Thanks reavertm for pointing out.

Revision  Changes    Path
1.23                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.23&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.23&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.22&r2=1.23

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- kde4-base.eclass	12 Jan 2009 17:25:59 -0000	1.22
+++ kde4-base.eclass	12 Jan 2009 19:40:34 -0000	1.23
@@ -1,6 +1,6 @@
 # Copyright 2007-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.22 2009/01/12 17:25:59 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.23 2009/01/12 19:40:34 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -465,30 +465,7 @@
 	debug-print-function $FUNCNAME "$@"
 
 	if [[ $BUILD_TYPE = live ]]; then
-		local cleandir
-		cleandir="${ESVN_STORE_DIR}/KDE"
-		if [[ -d "${cleandir}" ]]; then
-			ewarn "'${cleandir}' has been found. Moving contents to new location."
-			addwrite "${ESVN_STORE_DIR}"
-			# Split kdebase
-			local module
-			if pushd "${cleandir}"/kdebase/kdebase > /dev/null; then
-				for module in `find . -maxdepth 1 -type d -name [a-z0-9]\*`; do
-					module="${module#./}"
-					mkdir -p "${ESVN_STORE_DIR}/kdebase-${module}" && mv -f "${module}" "${ESVN_STORE_DIR}/kdebase-${module}" || \
-						die "Failed to move to '${ESVN_STORE_DIR}/kdebase-${module}'."
-				done
-				popd > /dev/null
-				rm -fr "${cleandir}/kdebase" || \
-					die "Failed to remove ${cleandir}/kdebase. You need to remove it manually."
-			fi
-			# Move the rest
-			local pkg
-			for pkg in "${cleandir}"/*; do
-				mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "failed to move ${pkg}"
-			done
-			rmdir "${cleandir}" || die "Could not move obsolete KDE store dir. Please move '${cleandir}' contents to appropriate location (possibly ${ESVN_STORE_DIR}) and manually remove '${cleandir}' in order to continue."
-		fi
+		migrate_store_dir
 		subversion_src_unpack
 	else
 		[[ -z $KDE_S ]] && KDE_S="${S}"



1.11                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.11&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.11&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.10&r2=1.11

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- kde4-functions.eclass	12 Jan 2009 17:25:59 -0000	1.10
+++ kde4-functions.eclass	12 Jan 2009 19:40:34 -0000	1.11
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.10 2009/01/12 17:25:59 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.11 2009/01/12 19:40:34 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -267,6 +267,37 @@
 	fi
 }
 
+# @FUNCTION: migrate_store_dir
+# @DESCRIPTION:
+# Migrate the remnants of ${ESVN_STORE_DIR}/KDE/ to ${ESVN_STORE_DIR}/.
+# Perform experimental split of kdebase to kdebase-apps.
+migrate_store_dir() {
+	local cleandir
+	cleandir="${ESVN_STORE_DIR}/KDE"
+	if [[ -d "${cleandir}" ]]; then
+		ewarn "'${cleandir}' has been found. Moving contents to new location."
+		addwrite "${ESVN_STORE_DIR}"
+		# Split kdebase
+		local module
+		if pushd "${cleandir}"/kdebase/kdebase > /dev/null; then
+			for module in `find . -maxdepth 1 -type d -name [a-z0-9]\*`; do
+				module="${module#./}"
+				mkdir -p "${ESVN_STORE_DIR}/kdebase-${module}" && mv -f "${module}" "${ESVN_STORE_DIR}/kdebase-${module}" || \
+					die "Failed to move to '${ESVN_STORE_DIR}/kdebase-${module}'."
+			done
+			popd > /dev/null
+			rm -fr "${cleandir}/kdebase" || \
+				die "Failed to remove ${cleandir}/kdebase. You need to remove it manually."
+		fi
+		# Move the rest
+		local pkg
+		for pkg in "${cleandir}"/*; do
+			mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "failed to move ${pkg}"
+		done
+		rmdir "${cleandir}" || die "Could not move obsolete KDE store dir. Please move '${cleandir}' contents to appropriate location (possibly ${ESVN_STORE_DIR}) and manually remove '${cleandir}' in order to continue."
+	fi
+}
+
 # Functions handling KMLOADLIBS and KMSAVELIBS
 
 # @FUNCTION: save_library_dependencies



1.10                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.10&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.10&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.9&r2=1.10

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- kde4-meta.eclass	12 Jan 2009 17:25:59 -0000	1.9
+++ kde4-meta.eclass	12 Jan 2009 19:40:34 -0000	1.10
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.9 2009/01/12 17:25:59 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.10 2009/01/12 19:40:34 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -163,7 +163,12 @@
 kde4-meta_src_unpack() {
 	debug-print-function  ${FUNCNAME} "$@"
 	if [[ $BUILD_TYPE = live ]]; then
-		kde4-base_src_unpack
+		migrate_store_dir
+		S="${WORKDIR}/${PN}-${PV}"
+		mkdir -p "${S}"
+		ESVN_RESTRICT="export" subversion_src_unpack
+		subversion_wc_info
+		subversion_bootstrap
 		kde4-meta_src_extract
 	else
 		kde4-meta_src_extract






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-03-01 11:44 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-03-01 11:44 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/03/01 11:44:09

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Update kde4 eclasses. Was in testing for month now so hope all problems squashed. Resolves some annoying issues and enhance deps.

Revision  Changes    Path
1.30                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.30&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.30&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.29&r2=1.30

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- kde4-base.eclass	10 Feb 2009 20:07:24 -0000	1.29
+++ kde4-base.eclass	1 Mar 2009 11:44:09 -0000	1.30
@@ -1,6 +1,6 @@
-# Copyright 2007-2008 Gentoo Foundation
+# Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.29 2009/02/10 20:07:24 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.30 2009/03/01 11:44:09 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -16,7 +16,7 @@
 inherit base cmake-utils eutils multilib kde4-functions
 
 get_build_type
-if [[ $BUILD_TYPE = live ]]; then
+if [[ ${BUILD_TYPE} = live ]]; then
 	inherit subversion
 fi
 
@@ -59,15 +59,36 @@
 }
 kde4-base_set_qt_dependencies
 
-# Set the cmake dependencies
-# Quite a few packages fail with cmake-2.4 even for KDE 4.1, so we just require 2.6.2
-CMAKEDEPEND=">=dev-util/cmake-2.6.2"
+# Xorg
+COMMONDEPEND="${COMMONDEPEND}
+	>=x11-base/xorg-server-1.5.2
+"
+
+# X11 libs
+COMMONDEPEND="${COMMONDEPEND}
+	x11-libs/libXext
+	x11-libs/libXt
+	x11-libs/libXxf86vm
+"
+
+# localization deps 
+# DISABLED UNTIL PMS decide correct approach :(
+if [[ -n ${KDE_LINGUAS} ]]; then
+	LNG_DEP=""
+	for _lng in ${KDE_LINGUAS}; do
+		# there must be or due to issue if lingua is not present in kde-l10n so
+		# it wont die but pick kde-l10n as-is.
+		LNG_DEP="${LNG_DEP}
+			|| ( kde-base/kde-l10n[linguas_${_lng},kdeprefix=] kde-base/kde-l10n[kdeprefix=] )"
+	done
+fi
 
-# Set the common dependencies
-DEPEND="${DEPEND} ${COMMONDEPEND} ${CMAKEDEPEND}
+# Set common dependencies for all ebuilds that inherit this eclass
+DEPEND="${DEPEND} ${COMMONDEPEND}
+	>=dev-util/cmake-2.6.2
 	dev-util/pkgconfig
-	x11-libs/libXt
-	x11-proto/xf86vidmodeproto"
+	>=sys-apps/sandbox-1.3.2
+"
 RDEPEND="${RDEPEND} ${COMMONDEPEND}"
 
 if [[ $BUILD_TYPE = live ]]; then
@@ -137,7 +158,7 @@
 # @CODE
 # Note: default minimal version is kde-4.1, which means that the apps will work
 # with any KDE version >=${KDE_MINIMAL}
-KDE_MINIMAL="${KDE_MINIMAL:=4.1}"
+KDE_MINIMAL="${KDE_MINIMAL:=4.2}"
 export KDE_MINIMAL
 
 # FIXME: the code section, explanation of live. The last sentence needs other
@@ -166,7 +187,7 @@
 	latest)
 		if [[ $KDEBASE = kde-base ]]; then
 			case ${PV} in
-				4.2.6*)
+				4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
 					_kdedir="4.3"
 					_pv="-${PV}:4.3"
 					_pvn="-${PV}"
@@ -198,7 +219,7 @@
 					;;
 				*)
 					die "NEED_KDE=latest not supported for PV=${PV}" ;;
-				esac
+			esac
 			_operator=">="
 		else
 			# this creates dependency on any version of kde4
@@ -216,7 +237,7 @@
 		_pvn="-${NEED_KDE}"
 		export NEED_KDE="live"
 		;;
-	4.2.6*)
+	4.3 | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
 		_kdedir="4.3"
 		_pv="-${NEED_KDE}:4.3"
 		_pvn="-${NEED_KDE}"
@@ -258,10 +279,9 @@
 esac
 
 if [[ ${NEED_KDE} != none ]]; then
-
 	#Set the SLOT
-	if [[ -n $KDEBASE ]]; then
-		if [[ $NEED_KDE = live ]]; then
+	if [[ -n ${KDEBASE} ]]; then
+		if [[ ${NEED_KDE} = live ]]; then
 			SLOT="live"
 		else
 			case ${KMNAME} in
@@ -286,12 +306,13 @@
 				*)
 					case ${PV} in
 						9999*) SLOT="live" ;;
+						4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
 						4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
 						4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
 						*) SLOT="4.1" ;;
 					esac
 					;;
-				esac
+			esac
 		fi
 	fi
 
@@ -309,21 +330,21 @@
 
 	# Adding kdelibs, kdepimlibs and kdebase-data deps to all other packages.
 	# We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs"
-	if [[ $PN != kdelibs ]]; then
+	if [[ ${PN} != kdelibs ]]; then
 		DEPEND="${DEPEND}
 				kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
 				!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )"
 		RDEPEND="${RDEPEND}
 				kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
 				!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )"
-		if [[ $PN != kdepimlibs ]]; then
+		if [[ ${PN} != kdepimlibs ]]; then
 			DEPEND="${DEPEND}
 				kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix] )
 				!kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pvn}[-kdeprefix] )"
 			RDEPEND="${RDEPEND}
 				kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix] )
 				!kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pvn}[-kdeprefix] )"
-			if [[ $PN != kdebase-data ]]; then
+			if [[ ${PN} != kdebase-data ]]; then
 				RDEPEND="${RDEPEND}
 					kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
 					!kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )"
@@ -335,11 +356,12 @@
 
 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
 # koffice ebuild, the URI should be set in the ebuild itself
-case ${SLOT} in
+case ${BUILD_TYPE} in
 	live)
+		SRC_URI=""
 		ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
 		# Split ebuild, or extragear stuff
-		if [[ -n $KMNAME ]]; then
+		if [[ -n ${KMNAME} ]]; then
 		    ESVN_PROJECT="${KMNAME}"
 			if [[ -z ${KMNOMODULE} && -z ${KMMODULE} ]]; then
 				KMMODULE="${PN}"
@@ -347,31 +369,22 @@
 			# Split kde-base/ ebuilds: (they reside in trunk/KDE)
 			case ${KMNAME} in
 				kdebase-*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/kdebase/${KMNAME#kdebase-}/"
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/kdebase/${KMNAME#kdebase-}"
 					;;
 				kdereview)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}/"
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
 					;;
 				kde*)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}"
 					;;
 				extragear*|playground*)
-					case ${PN} in
-						*-plasma)
-							ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}/"
-							ESVN_PROJECT="${KMNAME}/${KMMODULE}/"
-							;;
-						*)
-							ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}/"
-							;;
-					esac
-				;;
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+					;;
 				koffice)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
 					;;
 				*)
-					# Extragear material
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}/"
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
 					;;
 			esac
 		else
@@ -383,9 +396,14 @@
 		ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
 		;;
 	*)
-		if [[ -n $KDEBASE ]]; then
+		if [[ -n ${KDEBASE} ]]; then
 			if [[ -n ${KMNAME} ]]; then
-				_kmname=${KMNAME}
+				case ${KMNAME} in
+					kdebase-apps)
+						_kmname="kdebase" ;;
+					*)
+						_kmname=${KMNAME} ;;
+				esac
 			else
 				_kmname=${PN}
 			fi
@@ -394,11 +412,7 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.2.60)
-							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.svn912032tar.bz2" ;;
-						4.2.61)
-							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.svn917530.tar.bz2" ;;
-						4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
+						4.2.6* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 					esac
@@ -408,8 +422,8 @@
 				;;
 			esac
 			fi
-				unset _kmname _kmname_pv
-			fi
+			unset _kmname _kmname_pv
+		fi
 		;;
 esac
 
@@ -432,14 +446,14 @@
 # errors and die if any required flags listed in $QT4_BUILT_WITH_USE_CHECK or
 # $KDE4_BUILT_WITH_USE_CHECK are missing.
 kde4-base_pkg_setup() {
-	debug-print-function $FUNCNAME "$@"
+	debug-print-function ${FUNCNAME} "$@"
 
 	# Don't set KDEHOME during compile, it will cause access violations
 	unset KDEHOME
 
 	# Search for best suitable kde installation for misc kde package.
 	# Computation based on NEED_KDE and KDE_MINIMAL
-	[[ ${NEED_KDE} = latest || ${NEED_KDE} = none ]] && get_latest_kdedir
+	[[ ${KDEBASE} != kde-base ]] && [[ ${NEED_KDE} = latest || ${NEED_KDE} = none ]] && get_latest_kdedir
 
 	# Set PREFIX
 	if use kdeprefix; then
@@ -451,7 +465,7 @@
 	fi
 	# Set the prefix based on KDEDIR
 	# Make it a consequence of kdeprefix
-	PREFIX=$KDEDIR
+	PREFIX=${KDEDIR}
 
 	unset _kdedir
 
@@ -459,7 +473,7 @@
 	[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
 		die "built_with_use illegal in this EAPI!"
 
-	if [[ $BUILD_TYPE = live && -z $I_KNOW_WHAT_I_AM_DOING ]]; then
+	if [[ ${BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
 		echo
 		elog "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
 		elog "Use it at your own risk."
@@ -471,30 +485,14 @@
 # @FUNCTION: kde4-base_src_unpack
 # @DESCRIPTION:
 # This function unpacks the source tarballs for KDE4 applications.
-#
-# If no argument is passed to this function, then standard src_unpack is
-# executed. Otherwise, options are passed to base_src_unpack.
 kde4-base_src_unpack() {
-	debug-print-function $FUNCNAME "$@"
+	debug-print-function ${FUNCNAME} "$@"
 
-	if [[ $BUILD_TYPE = live ]]; then
+	if [[ ${BUILD_TYPE} = live ]]; then
 		migrate_store_dir
 		subversion_src_unpack
 	else
-		[[ -z $KDE_S ]] && KDE_S="${S}"
-		if [[ -z $* ]]; then
-			# Unpack first and deal with KDE patches after examing possible patch sets.
-			# To be picked up, patches need to conform to the guidelines stated before.
-			# Monolithic ebuilds will use the split ebuild patches.
-			[[ -d "${KDE_S}" ]] || unpack ${A}
-		fi
-		# Updated cmake dir
-		if [[ -d "${WORKDIR}/cmake" && -d "${KDE_S}/cmake" ]]; then
-			ebegin "Updating cmake/ directory..."
-			rm -rf "${KDE_S}/cmake" || die "Unable to remove old cmake/ directory"
-			ln -s "${WORKDIR}/cmake" "${KDE_S}/cmake" || die "Unable to symlink the new cmake/ directory"
-			eend 0
-		fi
+		base_src_unpack
 	fi
 }
 
@@ -507,7 +505,7 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	# Only enable selected languages, used for KDE extragear apps.
-	if [[ -n $KDE_LINGUAS ]]; then
+	if [[ -n ${KDE_LINGUAS} ]]; then
 		enable_selected_linguas
 	fi
 
@@ -515,12 +513,12 @@
 	base_src_prepare
 
 	# Save library dependencies
-	if [[ -n $KMSAVELIBS ]] ; then
+	if [[ -n ${KMSAVELIBS} ]] ; then
 		save_library_dependencies
 	fi
 
 	# Inject library dependencies
-	if [[ -n $KMLOADLIBS ]] ; then
+	if [[ -n ${KMLOADLIBS} ]] ; then
 		load_library_dependencies
 	fi
 }
@@ -549,7 +547,7 @@
 	mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=OFF"
 
 	# Set distribution name
-	[[ $PN = kdelibs ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
+	[[ ${PN} = kdelibs ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
 
 	# runpath linking
 	mycmakeargs="${mycmakeargs} -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
@@ -562,26 +560,22 @@
 
 	# Set environment
 	QTEST_COLORED=1
-	QT_PLUGIN_PATH=${KDEDIR}/$(get_libdir)/kde4/plugins/
+	QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
 
-	# hardcode path to *.cmake KDE files
+	# Hardcode path to *.pc KDE files
 	export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
 
-	# additonal arguments for KOFFICE
-	if [[ $KMNAME = koffice ]]; then
-		case ${PN} in
-			koffice-data) : ;;
-			*)
-				mycmakeargs="${mycmakeargs}
-					-DWITH_OpenEXR=ON
-					$(cmake-utils_use_with crypt QCA2)
-					$(cmake-utils_use_with opengl OpenGL)"
-				if use crypt; then
-					mycmakeargs="${mycmakeargs}
-						-DQCA2_LIBRARIES=/usr/$(get_libdir)/qca2/libqca.so.2"
-				fi
-				;;
-		esac
+	# Override some environment variables
+	PATH="${KDEDIR}/bin:${PATH}"
+	LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
+
+	# Set cmake prefixes to allow buildsystem to localize valid KDE installation when more are present
+	if use kdeprefix; then
+		mycmakeargs="${mycmakeargs}
+			-DCMAKE_SYSTEM_INCLUDE_PATH=${KDEDIR}/include
+			-DCMAKE_SYSTEM_LIBRARY_PATH=${KDEDIR}/$(get_libdir)
+			-DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}
+			-DCMAKE_SYSTEM_PROGRAM_PATH=${KDEDIR}/bin"
 	fi
 
 	[ -e CMakeLists.txt ] && cmake-utils_src_configure
@@ -604,7 +598,7 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	if [[ -d "$WORKDIR/${PN}_build" ]]; then
-		pushd "${WORKDIR}"/${PN}_build > /dev/null
+		pushd "${WORKDIR}/${PN}_build" > /dev/null
 	fi
 	[ -e [Mm]akefile ] && cmake-utils_src_make "$@"
 }
@@ -617,7 +611,8 @@
 
 	# Override this value, set in kde4-base_src_configure()
 	mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=ON"
-	cmake-utils_src_compile
+	cmake-utils_src_configure
+	kde4-base_src_compile
 
 	cmake-utils_src_test
 }
@@ -628,13 +623,13 @@
 kde4-base_src_install() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if [[ -n $KMSAVELIBS ]] ; then
+	if [[ -n ${KMSAVELIBS} ]] ; then
 		install_library_dependencies
 	fi
 
 	kde4-base_src_make_doc
 	if [[ -d "$WORKDIR/${PN}_build" ]]; then
-		pushd "${WORKDIR}"/${PN}_build > /dev/null
+		pushd "${WORKDIR}/${PN}_build" > /dev/null
 	fi
 	[ -e [Mm]akefile ] && cmake-utils_src_install
 }
@@ -647,12 +642,12 @@
 
 	local doc
 	for doc in AUTHORS ChangeLog* README* NEWS TODO; do
-		[[ -s $doc ]] && dodoc ${doc}
+		[[ -s ${doc} ]] && dodoc ${doc}
 	done
 
-	if [[ -z $KMNAME ]]; then
+	if [[ -z ${KMNAME} ]]; then
 		for doc in {apps,runtime,workspace,.}/*/{AUTHORS,README*}; do
-			if [[ -s $doc ]]; then
+			if [[ -s ${doc} ]]; then
 				local doc_complete=${doc}
 				doc="${doc#*/}"
 				newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
@@ -663,7 +658,7 @@
 	if [[ -n ${KDEBASE} && -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/ || \
+			mv "${D}/usr/share/doc/${PF}" "${D}"/usr/share/doc/kde/ || \
 			die "Failed to move docs to kde/ failed."
 	fi
 }
@@ -672,6 +667,8 @@
 # @DESCRIPTION:
 # Function to rebuild the KDE System Configuration Cache after an application has been installed.
 kde4-base_pkg_postinst() {
+	debug-print-function ${FUNCNAME} "$@"
+
 	buildsycoca
 }
 
@@ -679,5 +676,7 @@
 # @DESCRIPTION:
 # Function to rebuild the KDE System Configuration Cache after an application has been removed.
 kde4-base_pkg_postrm() {
+	debug-print-function ${FUNCNAME} "$@"
+
 	buildsycoca
 }



1.13                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.13&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.13&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.12&r2=1.13

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- kde4-functions.eclass	10 Feb 2009 20:07:24 -0000	1.12
+++ kde4-functions.eclass	1 Mar 2009 11:44:09 -0000	1.13
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.12 2009/02/10 20:07:24 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.13 2009/03/01 11:44:09 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -38,7 +38,7 @@
 # @DESCRIPTION:
 # The slots used by all KDE versions later than 4.0. The live-ebuilds use
 # KDE_LIVE_SLOTS instead.
-KDE_SLOTS=( kde-4 4.1 4.2 )
+KDE_SLOTS=( kde-4 4.1 4.2 4.3 )
 
 # @ECLASS-VARIABLE: KDE_LIVE_SLOTS
 # @DESCRIPTION:
@@ -64,7 +64,7 @@
 
 		ebegin "Running kbuildsycoca4 to build global database"
 		# This is needed because we support multiple kde versions installed together.
-		XDG_DATA_DIRS="/usr/share:${KDEDIRS//:/\/share:}/share:/usr/local/share" \
+		XDG_DATA_DIRS="/usr/share:${KDEDIR}/share:/usr/local/share" \
 			DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
 			${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
 		eend $?
@@ -102,14 +102,6 @@
 # but this default can be overridden by defining KDE_LINGUAS_DIR.
 enable_selected_linguas() {
 	local lingua sr_mess wp
-	# inform user about kde-l10n for full translation.
-	if ! has_version kde-base/kde-l10n; then
-		echo
-		elog "For fully translated application you should also emerge"
-		elog "kde-base/kde-l10n package which ships translated kde core"
-		elog "strings."
-		echo
-	fi
 
 	# ebuild overridable linguas directory definition
 	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:=${S}/po}
@@ -150,63 +142,6 @@
 	done
 }
 
-# @FUNCTION: koffice_fix_libraries
-# @DESCRIPTION:
-# replace the weird koffice lib search with hardcoded one, so it
-# actually builds and works.
-koffice_fix_libraries() {
-	local LIB_ARRAY R_QT_kostore R_BAS_kostore R_BAS_koodf R_KROSS_kokross R_QT_komain
-	local R_CMS_pigmentcms R_BAS_pigmentcms R_BAS_koresources R_BAS_flake R_BAS_koguiutils
-	local R_BAS_kopageapp R_BAS_kotext R_BAS_kowmf libname R
-	case ${PN} in
-		koffice-data|koffice-libs)
-			;;
-		*)
-			### basic array
-			LIB_ARRAY="kostore koodf kokross komain pigmentcms koresources flake koguiutils kopageapp kotext kowmf"
-			### dep array
-			R_QT_kostore="\"/usr/$(get_libdir)/qt4/libQtCore.so\"
-				\"/usr/$(get_libdir)/qt4/libQtXml.so\"
-				\"${KDEDIR}/$(get_libdir)/libkdecore.so\""
-			R_BAS_kostore="libkostore ${R_QT_kostore}"
-			R_BAS_koodf="libkoodf ${R_BAS_kostore}"
-			R_KROSS_kokross="
-				\"${KDEDIR}/$(get_libdir)/libkrossui.so\"
-				\"${KDEDIR}/$(get_libdir)/libkrosscore.so\""
-			R_BAS_kokross="libkokross ${R_BAS_koodf} ${R_KROSS_kokross}"
-			R_QT_komain="\"/usr/$(get_libdir)/qt4/libQtGui.so\""
-			R_BAS_komain="libkomain ${R_BAS_koodf} ${R_QT_komain}"
-			R_CMS_pigmentcms="\"/usr/$(get_libdir)/liblcms.so\""
-			R_BAS_pigmentcms="libpigmentcms ${R_BAS_komain} ${R_CMS_pigmentcms}"
-			R_BAS_koresources="libkoresources ${R_BAS_pigmentcms}"
-			R_BAS_flake="libflake ${R_BAS_pigmentcms}"
-			R_BAS_koguiutils="libkoguiutils libkoresources libflake ${R_BAS_pigmentcms}"
-			R_BAS_kopageapp="libkopageapp ${R_BAS_koguitls}"
-			R_BAS_kotext="libkotext libkoresources libflake ${R_BAS_pigmentcms}"
-			### additional unmentioned stuff
-			R_BAS_kowmf="libkowmf"
-			for libname in ${LIB_ARRAY}; do
-				ebegin "Fixing library ${libname} with hardcoded path"
-				for libpath in $(eval "echo \$R_BAS_${libname}"); do
-					if [[ "${libpath}" != "\"/usr/"* ]]; then
-						R="${R} \"${KDEDIR}/$(get_libdir)/${libpath}.so\""
-					else
-						R="${R} ${libpath}"
-					fi
-				done
-				find "${S}" -name CMakeLists.txt -print| xargs -i \
-					sed -i \
-						-e "s: ${libname} : ${R} :g" \
-						-e "s: ${libname}): ${R}):g" \
-						-e "s:(${libname} :(${R} :g" \
-						-e "s:(${libname}):(${R}):g" \
-						-e "s: ${libname}$: ${R}:g" \
-					{} || die "Fixing library names failed."
-				eend $?
-			done
-			;;
-	esac
-}
 # @FUNCTION: get_build_type
 # @DESCRIPTION:
 # Determine whether we are using live ebuild or tbzs.
@@ -229,16 +164,16 @@
 	case ${KDE_WANTED} in
 		# note this will need to be updated as stable moves and so on
 		live)
-			_versions="9999 4.1.69 4.1.0"
+			_versions="9999 4.2.61 4.2.0 4.1.0"
 			;;
 		snapshot)
-			_versions="4.1.69 4.1.0 9999"
+			_versions="4.2.61 4.2.0 4.1.0 9999"
 			;;
 		testing)
-			_versions="4.1.0 4.1.69 9999"
+			_versions="4.2.0 4.1.0 4.2.61 9999"
 			;;
 		stable)
-			_versions="4.1.0 4.1.69 9999"
+			_versions="4.2.0 4.1.0 4.1.61 9999"
 			;;
 		*) die "KDE_WANTED=${KDE_WANTED} not supported here." ;;
 	esac
@@ -252,7 +187,11 @@
 					_kdedir="live"
 					break
 				;;
-				4.1.69)
+				4.3.0 | 4.2.61)
+					_kdedir="4.3"
+					break
+				;;
+				4.2.0 | 4.1.61)
 					_kdedir="4.2"
 					break
 				;;
@@ -263,6 +202,8 @@
 			esac
 		fi
 	done
+
+	debug-print-function ${FUNCNAME} "$@" "KDE_WANTED=${KDE_WANTED} -> _kdedir=${_kdedir}"
 }
 
 # @FUNCTION: migrate_store_dir



1.11                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.11&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.11&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.10&r2=1.11

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- kde4-meta.eclass	12 Jan 2009 19:40:34 -0000	1.10
+++ kde4-meta.eclass	1 Mar 2009 11:44:09 -0000	1.11
@@ -1,6 +1,6 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.10 2009/01/12 19:40:34 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.11 2009/03/01 11:44:09 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -12,17 +12,6 @@
 # You must define KMNAME to use this eclass, and do so before inheriting it. All other variables are optional.
 # Do not include the same item in more than one of KMMODULE, KMMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY.
 
-# we want opengl optional in each koffice package
-if [[ $KMNAME = koffice ]]; then
-	case ${PN} in
-		koffice-data)
-			;;
-		*)
-			OPENGL_REQUIRED=optional
-			;;
-	esac
-fi
-
 inherit kde4-base versionator
 
 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
@@ -51,25 +40,26 @@
 	kdepim)
 		DEPEND="${DEPEND} dev-libs/boost app-office/akonadi-server"
 		RDEPEND="${RDEPEND} dev-libs/boost"
-		if [[ $PN != kode ]]; then
-			DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}"
-			RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}"
+		if [[ ${PN} != kode ]]; then
+			DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}[kdeprefix=]"
+			RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}[kdeprefix=]"
 		fi
 		case ${PN} in
 			akregator|kaddressbook|kjots|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
 				IUSE="+kontact"
-				DEPEND="${DEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
-				RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
+				DEPEND="${DEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
+				RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
 				;;
 		esac
 		;;
 	kdegames)
-		if [[ $PN != libkdegames ]]; then
-			DEPEND="${DEPEND} >=kde-base/libkdegames-${PV}:${SLOT}"
-			RDEPEND="${RDEPEND} >=kde-base/libkdegames-${PV}:${SLOT}"
+		if [[ ${PN} != libkdegames ]]; then
+			DEPEND="${DEPEND} >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]"
+			RDEPEND="${RDEPEND} >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]"
 		fi
 		;;
 	koffice)
+		[[ ${PN} != koffice-data ]] && IUSE="debug"
 		case ${PV} in
 			9999*) DEPEND="${DEPEND} !app-office/${PN}:2" ;;
 			1.9*|2*) DEPEND="${DEPEND} !app-office/${PN}:live" ;;
@@ -84,12 +74,18 @@
 				RDEPEND="${RDEPEND} media-libs/lcms"
 				;;
 			*)
-				IUSE="+crypt"
-				DEPEND="${DEPEND} crypt? ( >=app-crypt/qca-2 )"
-				RDEPEND="${RDEPEND} crypt? ( >=app-crypt/qca-2 )"
-				if [[ $PN != koffice-libs ]]; then
-					DEPEND="${DEPEND} >=app-office/koffice-libs-${PV}:${SLOT}"
-					RDEPEND="${RDEPEND} >=app-office/koffice-libs-${PV}:${SLOT}"
+				DEPEND="${DEPEND}
+					dev-cpp/eigen:2
+					media-gfx/imagemagick[openexr?]
+					media-libs/fontconfig
+					media-libs/freetype:2
+				"
+				RDEPEND="${DEPEND}"
+				if [[ ${PN} != koffice-libs && ${PN} != koffice-data ]]; then
+					DEPEND="${DEPEND}
+					>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]"
+					RDEPEND="${RDEPEND}
+					>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]"
 				fi
 				;;
 		esac
@@ -99,6 +95,17 @@
 debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after metapackage-specific dependencies"
 debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after metapackage-specific dependencies"
 
+# Useful to build kde4-meta style stuff from extragear/playground (plasmoids etc)
+case ${SLOT} in
+	live)
+		case ${KMNAME} in
+			extragear*|playground*)
+				ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+				;;
+		esac
+		;;
+esac
+
 # @ECLASS-VARIABLE: KMNAME
 # @DESCRIPTION:
 # Name of the parent-module (e.g. kdebase, kdepim, ...). You _must_ set it
@@ -120,8 +127,8 @@
 # Example usage: If you're installing subdirectories of a package, like plugins,
 # you mark the top subdirectory (containing the package) as $KMEXTRACTONLY, and
 # set KMNOMODULE="true".
-if [[ -z $KMMODULE && $KMNOMODULE != true  ]]; then
-	KMMODULE=$PN
+if [[ -z ${KMMODULE} && ${KMNOMODULE} != true  ]]; then
+	KMMODULE=${PN}
 fi
 
 # @ECLASS-VARIABLE: KMEXTRA
@@ -153,6 +160,8 @@
 # Currently just calls its equivalent in kde4-base.eclass(5). Use this one in
 # split ebuilds.
 kde4-meta_pkg_setup() {
+	debug-print-function ${FUNCNAME} "$@"
+
 	kde4-base_pkg_setup
 }
 
@@ -161,10 +170,11 @@
 # This function unpacks the source for split ebuilds. See also
 # kde4-meta-src_extract.
 kde4-meta_src_unpack() {
-	debug-print-function  ${FUNCNAME} "$@"
-	if [[ $BUILD_TYPE = live ]]; then
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${BUILD_TYPE} = live ]]; then
 		migrate_store_dir
-		S="${WORKDIR}/${PN}-${PV}"
+		S="${WORKDIR}/${P}"
 		mkdir -p "${S}"
 		ESVN_RESTRICT="export" subversion_src_unpack
 		subversion_wc_info
@@ -183,7 +193,9 @@
 # Also see KMMODULE, KMNOMODULE, KMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY and
 # KMTARPARAMS.
 kde4-meta_src_extract() {
-	if [[ $BUILD_TYPE = live ]]; then
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${BUILD_TYPE} = live ]]; then
 		local rsync_options subdir kmnamedir targetdir
 		# Export working copy to ${S}
 		einfo "Exporting parts of working copy to ${S}"
@@ -211,12 +223,13 @@
 					|| die "${ESVN}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
 		done
 
-		if [[ $KMNAME = kdebase-runtime && $PN != kdebase-data ]]; then
+		if [[ ${KMNAME} = kdebase-runtime && ${PN} != kdebase-data ]]; then
 			sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
 				"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
 		fi
 	else
-		local abort tarball tarfile f extractlist
+		local abort tarball tarfile f extractlist moduleprefix
+
 		case $KMNAME in
 			kdebase-apps)
 				tarball="${KMNAME#-apps}-${PV}.tar.bz2"
@@ -225,7 +238,7 @@
 				tarball="${KMNAME}-${PV}.tar.bz2"
 				;;
 		esac
-		tarfile="${DISTDIR}"/${tarball}
+		tarfile="${DISTDIR}/${tarball}"
 
 		ebegin "Unpacking parts of ${tarball} to ${WORKDIR}"
 
@@ -240,30 +253,28 @@
 		KMTARPARAMS="${KMTARPARAMS} -j"
 
 		pushd "${WORKDIR}" > /dev/null
-		[[ -n ${KDE4_STRICTER} ]] && echo tar -xpf $tarfile $KMTARPARAMS $extractlist >&2
-		tar -xpf $tarfile $KMTARPARAMS $extractlist 2> /dev/null
+		[[ -n ${KDE4_STRICTER} ]] && echo tar -xpf "${tarfile}" ${KMTARPARAMS} ${extractlist} >&2
+		tar -xpf "${tarfile}" ${KMTARPARAMS} ${extractlist} 2> /dev/null
 
-		# Default $S is based on $P; rename the extracted directory to match $S
+		# Default $S is based on $P; rename the extracted directory to match $S if necessary
 		mv ${KMNAME}-${PV} ${P} || die "Died while moving \"${KMNAME}-${PV}\" to \"${P}\""
 
 		popd > /dev/null
 
 		eend $?
 
+		# We need to clear it here to make verification below work
+		unset moduleprefix
+
 		if [[ -n ${KDE4_STRICTER} ]]; then
 			for f in $(__list_needed_subdirectories fatal); do
-				if [[ ! -e ${S}/${f#*/} ]]; then
+				if [[ ! -e "${S}/${f#*/}" ]]; then
 					eerror "'${f#*/}' is missing"
 					abort=true
 				fi
 			done
 			[[ -n ${abort} ]] && die "There were missing files."
 		fi
-		kde4-base_src_unpack
-	fi
-	# fix koffice linking
-	if [[ $KMNAME = koffice ]]; then
-		koffice_fix_libraries
 	fi
 }
 
@@ -305,17 +316,11 @@
 				ConfigureChecks.cmake
 				config-workspace.h.cmake
 				config-X11.h.cmake
-				startkde.cmake"
-			case ${SLOT} in
-				4.2)
-					KMEXTRACTONLY="${KMEXTRACTONLY}
-						KDE4WorkspaceConfig.cmake.in"
-					;;
-				*) : ;;
-			esac
+				startkde.cmake
+				KDE4WorkspaceConfig.cmake.in"
 			;;
 		kdegames)
-			if [[ ${PN} != "libkdegames" ]]; then
+			if [[ ${PN} != libkdegames ]]; then
 				KMEXTRACTONLY="${KMEXTRACTONLY}
 					libkdegames"
 			fi
@@ -337,20 +342,6 @@
 				config-openexr.h.cmake
 				config-opengl.h.cmake
 				config-prefix.h.cmake"
-			case ${PN} in
-				koffice-libs|koffice-data)
-					;;
-				*)
-					# add basic extract for all packages
-					KMEXTRACTONLY="${KMEXTRACTONLY}
-						filters/
-						libs/
-						plugins/"
-					if [[ ${PN} != "kplato" ]]; then
-						KMEXTRA="${KMEXTRA} filters/${PN}"
-					fi
-					;;
-			esac
 			;;
 	esac
 	# Don't install cmake modules for split ebuilds, to avoid collisions.
@@ -388,12 +379,12 @@
 	done
 
 	# Expand KMMODULE
-	if [[ -n $KMMODULE  ]]; then
+	if [[ -n ${KMMODULE} ]]; then
 		kmmodule_expanded="${KMMODULE}"
 		j=$(dirname ${KMMODULE})
 		while [[ ${j} != "." ]]; do
-			kmmodule_expanded="${kmmodule_expanded} $j/CMakeLists.txt";
-			j=$(dirname $j)
+			kmmodule_expanded="${kmmodule_expanded} ${j}/CMakeLists.txt";
+			j=$(dirname ${j})
 		done
 	fi
 
@@ -411,17 +402,16 @@
 	debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME} - kmmodule_expanded:  ${kmmodule_expanded}"
 	debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME} - kmcompileonly_expanded: ${kmcompileonly_expanded}"
 
-
 	case ${PV} in
 		scm|9999*) : ;;
 		*) topdir="${KMNAME}-${PV}/" ;;
 	esac
-
 	# Create final list of stuff to extract
+	# We append topleveldir only when specified (usually for tarballs)
 	for i in ${kmmodule_expanded} ${kmextra_expanded} ${kmcompileonly_expanded} \
 		${KMEXTRACTONLY}
 	do
-		extractlist="${extractlist} ${topdir}${i}"
+		extractlist="${extractlist} ${topdir}${moduleprefix}${i}"
 	done
 
 	echo ${extractlist}
@@ -460,7 +450,7 @@
 # @FUNCTION: kde4-meta_change_cmakelists
 # @DESCRIPTION:
 kde4-meta_change_cmakelists() {
-	debug-print-function  ${FUNCNAME} "$@"
+	debug-print-function ${FUNCNAME} "$@"
 
 	pushd "${S}" > /dev/null
 
@@ -526,23 +516,21 @@
 			# COLLISION PROTECT section
 			# Install the startkde script just once, as a part of kde-base/kdebase-startkde,
 			# not as a part of every package.
-			if [[ ${PN} != "kdebase-startkde" && -f "${S}"/CMakeLists.txt ]]; then
+			if [[ ${PN} != kdebase-startkde && -f "${S}"/CMakeLists.txt ]]; then
 				# The startkde script moved to kdebase-workspace for KDE4 versions > 3.93.0.
 				sed -i -e '/startkde/s/^/#DONOTINSTALL /' "${S}"/CMakeLists.txt || \
 					die "${LINENO}: sed died in the kdebase-startkde collision prevention section"
 			fi
 			# Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82
-			if [[ ${SLOT} == 4.2 ]] || [[ ${PV} == 9999 ]]; then
-				if [[ ${PN} != libkworkspace ]]; then
-					sed -i -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
-						CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip EXPORT section"
-				fi
+			if [[ ${PN} != libkworkspace ]]; then
+				sed -i -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
+					CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip EXPORT section"
 			fi
 			;;
 		kdebase-runtime)
 			# COLLISION PROTECT section
 			# Only install the kde4 script as part of kde-base/kdebase-data
-			if [[ ${PN} != "kdebase-data" && -f "${S}"/CMakeLists.txt ]]; then
+			if [[ ${PN} != kdebase-data && -f "${S}"/CMakeLists.txt ]]; then
 				sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
 					"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
 			fi
@@ -556,6 +544,16 @@
 				;;
 			esac
 			;;
+		koffice)
+			# prevent collisions
+			if [[ ${PN} != koffice-data ]]; then
+				sed -i -e '/install(.*FindKOfficeLibs.cmake/,/)/ d' \
+					"${S}"/cmake/modules/CMakeLists.txt || \
+					die "${LINENO}: sed died in collision prevention section"
+				sed -i -n -e '1h;1!H;${g;s/install(.\+config-openexr.h.\+)//;p}' \
+					"${S}"/CMakeLists.txt || \
+					die "${LINENO}: sed died in collision prevention section"
+			fi
 	esac
 
 	popd > /dev/null
@@ -566,7 +564,7 @@
 # Currently just calls its equivalent in kde4-base.eclass(5). Use this one in split
 # ebuilds.
 kde4-meta_src_configure() {
-	debug-print-function  ${FUNCNAME} "$@"
+	debug-print-function ${FUNCNAME} "$@"
 
 	kde4-base_src_configure
 }
@@ -576,7 +574,7 @@
 # General function for compiling split KDE4 applications.
 # Overrides kde4-base_src_compile.
 kde4-meta_src_compile() {
-	debug-print-function  ${FUNCNAME} "$@"
+	debug-print-function ${FUNCNAME} "$@"
 
 	kde4-base_src_make
 }
@@ -603,12 +601,6 @@
 	if [[ -n ${KMSAVELIBS} ]]; then
 		install_library_dependencies
 	fi
-
-	# remove unvanted koffice stuff
-	if [[ $KMNAME = koffice && $PN != koffice-data ]]; then
-		rm "$D/$KDEDIR/include/config-openexr.h"
-		rm "$D/$KDEDIR/share/apps/cmake/modules/FindKOfficeLibs.cmake"
-	fi
 }
 
 # @FUNCTION: kde4-meta_src_make_doc
@@ -616,11 +608,11 @@
 # This function searches in ${S}/${KMMODULE},
 # and tries to install "AUTHORS ChangeLog* README* NEWS todo" if these files exist.
 kde4-meta_src_make_doc() {
-	debug-print-function  $FUNCNAME "$@"
+	debug-print-function ${FUNCNAME} "$@"
 
 	local doc
 	for doc in AUTHORS ChangeLog* README* NEWS TODO; do
-		[[ -s ${KMMODULE}/$doc ]] && newdoc "${KMMODULE}/${doc}" "${doc}.${KMMODULE##*/}"
+		[[ -s ${KMMODULE}/${doc} ]] && newdoc "${KMMODULE}/${doc}" "${doc}.${KMMODULE##*/}"
 	done
 
 	kde4-base_src_make_doc
@@ -631,6 +623,8 @@
 # Currently just calls its equivalent in kde4-base.eclass(5). Use this in split
 # ebuilds.
 kde4-meta_pkg_postinst() {
+	debug-print-function ${FUNCNAME} "$@"
+
 	kde4-base_pkg_postinst
 }
 
@@ -639,6 +633,7 @@
 # Currently just calls its equivalent in kde4-base.eclass(5). Use this in split
 # ebuilds.
 kde4-meta_pkg_postrm() {
+	debug-print-function ${FUNCNAME} "$@"
+
 	kde4-base_pkg_postrm
 }
-






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-03-09 19:41 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-03-09 19:41 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/03/09 19:41:27

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Sync kde4 eclasses with kde-testing (review by scarabeus and jmbsvicetto).

Revision  Changes    Path
1.31                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.31&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.31&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.30&r2=1.31

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- kde4-base.eclass	1 Mar 2009 11:44:09 -0000	1.30
+++ kde4-base.eclass	9 Mar 2009 19:41:26 -0000	1.31
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.30 2009/03/01 11:44:09 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.31 2009/03/09 19:41:26 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -13,7 +13,7 @@
 # NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
 # eclass will fail with version older than 2.
 
-inherit base cmake-utils eutils multilib kde4-functions
+inherit base cmake-utils eutils kde4-functions
 
 get_build_type
 if [[ ${BUILD_TYPE} = live ]]; then
@@ -36,60 +36,82 @@
 		x11-libs/qt-sql:4[qt3support]
 		x11-libs/qt-svg:4
 		x11-libs/qt-test:4
-		x11-libs/qt-webkit:4"
-	qtopengldepend="x11-libs/qt-opengl:4"
+	"
+	qtwebkitdepend="
+		x11-libs/qt-webkit:4
+	"
+	qtopengldepend="
+		x11-libs/qt-opengl:4
+	"
 
+	case ${WEBKIT_REQUIRED} in
+		always)
+			qtdepend="${qtdepend}
+				${qtwebkitdepend}"
+			;;
+		optional)
+			IUSE="${IUSE} webkit"
+			qtdepend="${qtdepend}
+				webkit? ( ${qtwebkitdepend} )
+			"
+			;;
+		*) WEBKIT_REQUIRED="never" ;;
+	esac
 	# opengl dependencies
 	case ${OPENGL_REQUIRED} in
 		always)
 			qtdepend="${qtdepend}
-				${qtopengldepend}"
+				${qtopengldepend}
+			"
 			;;
 		optional)
 			IUSE="${IUSE} opengl"
 			qtdepend="${qtdepend}
-				opengl? ( ${qtopengldepend} )"
-			;;
-		*)
-			OPENGL_REQUIRED="never"
+				opengl? ( ${qtopengldepend} )
+			"
 			;;
+		*) OPENGL_REQUIRED="never" ;;
 	esac
 
 	COMMONDEPEND="${COMMONDEPEND} ${qtdepend}"
 }
-kde4-base_set_qt_dependencies
 
-# Xorg
-COMMONDEPEND="${COMMONDEPEND}
-	>=x11-base/xorg-server-1.5.2
-"
-
-# X11 libs
-COMMONDEPEND="${COMMONDEPEND}
-	x11-libs/libXext
-	x11-libs/libXt
-	x11-libs/libXxf86vm
-"
-
-# localization deps 
-# DISABLED UNTIL PMS decide correct approach :(
-if [[ -n ${KDE_LINGUAS} ]]; then
-	LNG_DEP=""
-	for _lng in ${KDE_LINGUAS}; do
-		# there must be or due to issue if lingua is not present in kde-l10n so
-		# it wont die but pick kde-l10n as-is.
-		LNG_DEP="${LNG_DEP}
-			|| ( kde-base/kde-l10n[linguas_${_lng},kdeprefix=] kde-base/kde-l10n[kdeprefix=] )"
-	done
-fi
+if [[ ${NEED_KDE} != "none" ]] ; then
+	# Qt
+	kde4-base_set_qt_dependencies
+
+	# Xorg
+	COMMONDEPEND="${COMMONDEPEND}
+		>=x11-base/xorg-server-1.5.2
+	"
+
+	# X11 libs
+	COMMONDEPEND="${COMMONDEPEND}
+		x11-libs/libXext
+		x11-libs/libXt
+		x11-libs/libXxf86vm
+	"
 
-# Set common dependencies for all ebuilds that inherit this eclass
-DEPEND="${DEPEND} ${COMMONDEPEND}
-	>=dev-util/cmake-2.6.2
-	dev-util/pkgconfig
-	>=sys-apps/sandbox-1.3.2
-"
-RDEPEND="${RDEPEND} ${COMMONDEPEND}"
+	# localization deps
+	# DISABLED UNTIL PMS decide correct approach :(
+	if [[ -n ${KDE_LINGUAS} ]]; then
+		LNG_DEP=""
+		for _lng in ${KDE_LINGUAS}; do
+			# there must be or due to issue if lingua is not present in kde-l10n so
+			# it wont die but pick kde-l10n as-is.
+			LNG_DEP="${LNG_DEP}
+				|| ( kde-base/kde-l10n[linguas_${_lng},kdeprefix=] kde-base/kde-l10n[kdeprefix=] )"
+		done
+	fi
+
+	# Set common dependencies for all ebuilds that inherit this eclass
+	DEPEND="${DEPEND} ${COMMONDEPEND}
+		>=dev-util/cmake-2.6.2
+		dev-util/pkgconfig
+		>=sys-apps/sandbox-1.3.2
+	"
+	RDEPEND="${RDEPEND} ${COMMONDEPEND}"
+fi # NEED_KDE != NONE block
 
 if [[ $BUILD_TYPE = live ]]; then
 	# Disable tests for live ebuilds
@@ -107,6 +129,12 @@
 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
 OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
 
+# @ECLASS-VARIABLE: WEBKIT_REQUIRED
+# @DESCRIPTION:
+# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
+# This variable must be set before inheriting any eclasses. Defaults to 'never'.
+WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
+
 # @ECLASS-VARIABLE: CPPUNIT_REQUIRED
 # @DESCRIPTION:
 # Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
@@ -115,12 +143,15 @@
 
 case ${CPPUNIT_REQUIRED} in
 	always)
-		DEPEND="${DEPEND} dev-util/cppunit"
+		DEPEND="${DEPEND}
+			dev-util/cppunit
+		"
 		;;
 	optional)
 		IUSE="${IUSE} test"
 		DEPEND="${DEPEND}
-			test? ( dev-util/cppunit )"
+			test? ( dev-util/cppunit )
+		"
 		;;
 	*)
 		CPPUNIT_REQUIRED="never"
@@ -321,34 +352,27 @@
 		# block non kdeprefix ${PN} on other slots
 		# we do this only if we do not depend on any version of kde
 		if [[ ${SLOT} != ${KDE_SLOT} ]]; then
-			DEPEND="${DEPEND}
-				!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
 			RDEPEND="${RDEPEND}
-				!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+				!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )
+			"
 		fi
 	done
 
-	# Adding kdelibs, kdepimlibs and kdebase-data deps to all other packages.
-	# We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs"
+	# Adding kdelibs and kdebase-data deps to all other packages.
 	if [[ ${PN} != kdelibs ]]; then
 		DEPEND="${DEPEND}
-				kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
-				!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )"
+			kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
+			!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
+		"
 		RDEPEND="${RDEPEND}
-				kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
-				!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )"
-		if [[ ${PN} != kdepimlibs ]]; then
-			DEPEND="${DEPEND}
-				kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix] )
-				!kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pvn}[-kdeprefix] )"
+			kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
+			!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
+		"
+		if [[ ${PN} != kdepimlibs && ${PN} != kdebase-data ]]; then
 			RDEPEND="${RDEPEND}
-				kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix] )
-				!kdeprefix? ( ${_operator}kde-base/kdepimlibs${_pvn}[-kdeprefix] )"
-			if [[ ${PN} != kdebase-data ]]; then
-				RDEPEND="${RDEPEND}
-					kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
-					!kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )"
-			fi
+				kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
+				!kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )
+			"
 		fi
 	fi
 	unset _operator _pv _pvn
@@ -412,7 +436,9 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.2.6* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
+						4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
+							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
+						4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 					esac
@@ -509,7 +535,6 @@
 		enable_selected_linguas
 	fi
 
-	# Autopatch
 	base_src_prepare
 
 	# Save library dependencies
@@ -529,11 +554,9 @@
 kde4-base_src_configure() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	# We prefer KDE's own Debugfull mode over the standard Debug
-	if has debug ${IUSE//+} && use debug ; then
-		ebegin "Enabling debug flag"
-		mycmakeargs="${mycmakeargs} -DCMAKE_BUILD_TYPE=Debugfull"
-		eend $?
+	# Handle common release builds
+	if ! has debug ${IUSE//+} || ! use debug; then
+		append-cppflags -DQT_NO_DEBUG
 	fi
 
 	 # Enable generation of HTML handbook



1.14                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.14&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.14&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.13&r2=1.14

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- kde4-functions.eclass	1 Mar 2009 11:44:09 -0000	1.13
+++ kde4-functions.eclass	9 Mar 2009 19:41:26 -0000	1.14
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.13 2009/03/01 11:44:09 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.14 2009/03/09 19:41:26 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -12,10 +12,11 @@
 
 # @ECLASS-VARIABLE: EAPI
 # @DESCRIPTION:
-# By default kde eclass wants eapi 2 which might be redefinable.
-case ${EAPI} in
+# By default kde4 eclasses wants eapi 2 which might be redefinable to newer
+# versions.
+case ${EAPI:-0} in
 	2) : ;;
-	*) die "No way! EAPI older than 2 is not supported." ;;
+	*) die "No way! EAPI other than 2 is not supported for now." ;;
 esac
 
 # @ECLASS-VARIABLE: KDEBASE



1.12                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.12&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.12&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.11&r2=1.12

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- kde4-meta.eclass	1 Mar 2009 11:44:09 -0000	1.11
+++ kde4-meta.eclass	9 Mar 2009 19:41:26 -0000	1.12
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.11 2009/03/01 11:44:09 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.12 2009/03/09 19:41:26 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -33,59 +33,95 @@
 
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
-	kdebase|kdebase-workspace|kdebase-runtime)
-		DEPEND="${DEPEND} >=kde-base/qimageblitz-0.0.4"
-		RDEPEND="${RDEPEND} >=kde-base/qimageblitz-0.0.4"
+	kdebase|kdebase-{apps,workspace,runtime})
+		DEPEND="${DEPEND}
+			>=kde-base/qimageblitz-0.0.4
+		"
+		RDEPEND="${RDEPEND}
+			>=kde-base/qimageblitz-0.0.4
+		"
+		;;
+	kdenetwork)
+		DEPEND="${DEPEND}
+			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
+		"
+		RDEPEND="${RDEPEND}
+			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
+		"
 		;;
 	kdepim)
-		DEPEND="${DEPEND} dev-libs/boost app-office/akonadi-server"
-		RDEPEND="${RDEPEND} dev-libs/boost"
-		if [[ ${PN} != kode ]]; then
-			DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}[kdeprefix=]"
-			RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}[kdeprefix=]"
-		fi
+		DEPEND="${DEPEND}
+			dev-libs/boost
+			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
+		"
+		RDEPEND="${RDEPEND}
+			dev-libs/boost
+			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
+		"
 		case ${PN} in
 			akregator|kaddressbook|kjots|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
 				IUSE="+kontact"
-				DEPEND="${DEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
-				RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
+				RDEPEND="${RDEPEND}
+					kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )
+				"
 				;;
 		esac
 		;;
 	kdegames)
 		if [[ ${PN} != libkdegames ]]; then
-			DEPEND="${DEPEND} >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]"
-			RDEPEND="${RDEPEND} >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]"
+			DEPEND="${DEPEND}
+				>=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]
+			"
+			RDEPEND="${RDEPEND}
+				>=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]
+			"
 		fi
 		;;
 	koffice)
 		[[ ${PN} != koffice-data ]] && IUSE="debug"
 		case ${PV} in
-			9999*) DEPEND="${DEPEND} !app-office/${PN}:2" ;;
-			1.9*|2*) DEPEND="${DEPEND} !app-office/${PN}:live" ;;
+			9999*)
+				DEPEND="${DEPEND}
+					!app-office/${PN}:2
+				"
+				;;
+			1.9*|2*)
+				DEPEND="${DEPEND}
+					!app-office/${PN}:live
+				"
+				;;
 		esac
 		DEPEND="${DEPEND}
 			!app-office/${PN}:0
 			!app-office/koffice:0
-			!app-office/koffice-meta:0"
+			!app-office/koffice-meta:0
+		"
 		case ${PN} in
 			koffice-data)
-				DEPEND="${DEPEND} media-libs/lcms"
-				RDEPEND="${RDEPEND} media-libs/lcms"
+				DEPEND="${DEPEND}
+					media-libs/lcms
+				"
+				RDEPEND="${RDEPEND}
+					media-libs/lcms
+				"
 				;;
 			*)
-				DEPEND="${DEPEND}
+				COMMON_DEPEND="
 					dev-cpp/eigen:2
 					media-gfx/imagemagick[openexr?]
 					media-libs/fontconfig
 					media-libs/freetype:2
 				"
-				RDEPEND="${DEPEND}"
+				DEPEND="${DEPEND} ${COMMON_DEPEND}"
+				RDEPEND="${RDEPEND} ${COMMON_DEPEND}"
+				unset COMMON_DEPEND
 				if [[ ${PN} != koffice-libs && ${PN} != koffice-data ]]; then
 					DEPEND="${DEPEND}
-					>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]"
+						>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]
+					"
 					RDEPEND="${RDEPEND}
-					>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]"
+						>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]
+					"
 				fi
 				;;
 		esac
@@ -213,14 +249,14 @@
 		fi
 		# Copy all subdirectories
 		for subdir in $(__list_needed_subdirectories); do
-				targetdir=""
-				if [[ $subdir = doc/* && ! -e "$ESVN_WC_PATH/$kmnamedir$subdir" ]]; then
-					continue
-				fi
+			targetdir=""
+			if [[ $subdir = doc/* && ! -e "$ESVN_WC_PATH/$kmnamedir$subdir" ]]; then
+				continue
+			fi
 
-				[[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}"
-				rsync --recursive ${rsync_options} "${ESVN_WC_PATH}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \
-					|| die "${ESVN}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
+			[[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}"
+			rsync --recursive ${rsync_options} "${ESVN_WC_PATH}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \
+				|| die "${ESVN}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
 		done
 
 		if [[ ${KMNAME} = kdebase-runtime && ${PN} != kdebase-data ]]; then
@@ -228,18 +264,38 @@
 				"${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
 		fi
 	else
-		local abort tarball tarfile f extractlist moduleprefix
-
-		case $KMNAME in
+		local abort tarball tarfile f extractlist moduleprefix postfix
+		case ${PV} in
+			4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
+				KMTARPARAMS="${KMTARPARAMS} --lzma" # lzma
+				postfix="lzma"
+				;;
+			*)
+				KMTARPARAMS="${KMTARPARAMS} --bzip2" # bz2
+				postfix="bz2"
+				;;
+		esac
+		case ${KMNAME} in
 			kdebase-apps)
-				tarball="${KMNAME#-apps}-${PV}.tar.bz2"
+				# kdebase/apps -> kdebasa-apps
+				tarball="kdebase-${PV}.tar.${postfix}"
+				# Go one level deeper for kdebase-apps in tarballs
+				moduleprefix=apps/
+				KMTARPARAMS="${KMTARPARAMS} --transform=s|apps/||"
 				;;
 			*)
-				tarball="${KMNAME}-${PV}.tar.bz2"
+				# Create tarball name from module name (this is the default)
+				tarball="${KMNAME}-${PV}.tar.${postfix}"
 				;;
 		esac
+
+		# Full patch to source tarball
 		tarfile="${DISTDIR}/${tarball}"
 
+		# Detect real toplevel dir from tarball name - it will be used upon extraction
+		# and in __list_needed_subdirectories
+		topdir="${tarball%.tar.*}/"
+
 		ebegin "Unpacking parts of ${tarball} to ${WORKDIR}"
 
 		kde4-meta_create_extractlists
@@ -247,17 +303,16 @@
 		for f in cmake/ CMakeLists.txt ConfigureChecks.cmake config.h.cmake \
 			AUTHORS COPYING INSTALL README NEWS ChangeLog
 		do
-			extractlist="${extractlist} ${KMNAME}-${PV}/${f}"
+			extractlist="${extractlist} ${topdir}${moduleprefix}${f}"
 		done
 		extractlist="${extractlist} $(__list_needed_subdirectories)"
-		KMTARPARAMS="${KMTARPARAMS} -j"
 
 		pushd "${WORKDIR}" > /dev/null
 		[[ -n ${KDE4_STRICTER} ]] && echo tar -xpf "${tarfile}" ${KMTARPARAMS} ${extractlist} >&2
 		tar -xpf "${tarfile}" ${KMTARPARAMS} ${extractlist} 2> /dev/null
 
 		# Default $S is based on $P; rename the extracted directory to match $S if necessary
-		mv ${KMNAME}-${PV} ${P} || die "Died while moving \"${KMNAME}-${PV}\" to \"${P}\""
+		mv ${topdir} ${P} || die "Died while moving \"${topdir}\" to \"${P}\""
 
 		popd > /dev/null
 
@@ -275,6 +330,9 @@
 			done
 			[[ -n ${abort} ]] && die "There were missing files."
 		fi
+
+		# We don't need it anymore
+		unset topdir
 	fi
 }
 
@@ -326,9 +384,12 @@
 			fi
 			;;
 		kdepim)
+			if [[ ${PN} != libkdepim ]]; then
+				KMEXTRACTONLY="${KMEXTRACTONLY}
+					libkdepim"
+			fi
 			KMEXTRACTONLY="${KMEXTRACTONLY}
-				kleopatra/ConfigureChecks.cmake
-				libkdepim/kdepim_export.h"
+				kleopatra/ConfigureChecks.cmake"
 			if has kontact ${IUSE//+} && use kontact; then
 				KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
 				KMEXTRACTONLY="${KMEXTRACTONLY} kontactinterfaces/"
@@ -364,7 +425,7 @@
 }
 
 __list_needed_subdirectories() {
-	local i j kmextra kmextra_expanded kmmodule_expanded kmcompileonly_expanded extractlist topdir
+	local i j kmextra kmextra_expanded kmmodule_expanded kmcompileonly_expanded extractlist
 
 	# We expand KMEXTRA by adding CMakeLists.txt files
 	kmextra="${KMEXTRA}"
@@ -402,12 +463,8 @@
 	debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME} - kmmodule_expanded:  ${kmmodule_expanded}"
 	debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME} - kmcompileonly_expanded: ${kmcompileonly_expanded}"
 
-	case ${PV} in
-		scm|9999*) : ;;
-		*) topdir="${KMNAME}-${PV}/" ;;
-	esac
 	# Create final list of stuff to extract
-	# We append topleveldir only when specified (usually for tarballs)
+	# We append topdir only when specified (usually for tarballs)
 	for i in ${kmmodule_expanded} ${kmextra_expanded} ${kmcompileonly_expanded} \
 		${KMEXTRACTONLY}
 	do
@@ -427,7 +484,6 @@
 	kde4-base_src_prepare
 }
 
-
 # FIXME: no comment here?
 _change_cmakelists_parent_dirs() {
 	debug-print-function ${FUNCNAME} "$@"
@@ -470,8 +526,17 @@
 		_change_cmakelists_parent_dirs ${KMMODULE}
 	fi
 
-	# KMCOMPILEONLY
 	local i
+
+	# KMEXTRACTONLY section - Some ebuilds need to comment out some subdirs in KMMODULE and they use KMEXTRACTONLY
+	for i in ${KMEXTRACTONLY}; do
+		if [[ -d "${S}"/${i} && -f "${S}"/${i}/../CMakeLists.txt ]]; then
+			sed -i -e "/([[:space:]]*$(basename $i)[[:space:]]*)/s/^/#DONOTCOMPILE /" "${S}"/${i}/../CMakeLists.txt || \
+				die "${LINENO}: sed died while working in the KMEXTRACTONLY section while processing ${i}"
+		fi
+	done
+
+	# KMCOMPILEONLY
 	for i in ${KMCOMPILEONLY}; do
 		debug-print "${LINENO}: KMCOMPILEONLY, processing ${i}"
 		# Uncomment "add_subdirectory" instructions inside $KMCOMPILEONLY, then comment "install" instructions.
@@ -503,14 +568,6 @@
 		fi
 	done
 
-	# KMEXTRACTONLY section - Some ebuilds need to comment out some subdirs in KMMODULE and they use KMEXTRACTONLY
-	for i in ${KMEXTRACTONLY}; do
-		if [[ -d "${S}"/${i} && -f "${S}"/${i}/../CMakeLists.txt ]]; then
-			sed -i -e "/([[:space:]]*$(basename $i)[[:space:]]*)/s/^/#DONOTCOMPILE /" "${S}"/${i}/../CMakeLists.txt || \
-				die "${LINENO}: sed died while working in the KMEXTRACTONLY section while processing ${i}"
-		fi
-	done
-
 	case ${KMNAME} in
 		kdebase-workspace)
 			# COLLISION PROTECT section






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-04-13  0:02 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-04-13  0:02 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/04/13 00:02:45

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Update kde4 eclasses
  Add back support for doc handling (now via doc useflag)
  Force kdeprefix only for kde-base things (others are going unprefixed to /usr) ->
  Note for this: if user find that some application is pulling [-kdeprefix] kde uninstall/install of that app should help.
  Rewritten slot handling with simpler code.
  Added detection and alert system for finding what aplication break sth for /usr/share/config and /usr/share/kde4 and screw up perms.
  Left for next time: "Support for stable live (live packages from stable branch [shiny huh]). :]"

Revision  Changes    Path
1.34                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.34&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.34&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.33&r2=1.34

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- kde4-base.eclass	26 Mar 2009 21:55:09 -0000	1.33
+++ kde4-base.eclass	13 Apr 2009 00:02:45 -0000	1.34
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.33 2009/03/26 21:55:09 jmbsvicetto Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.34 2009/04/13 00:02:45 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -22,102 +22,6 @@
 
 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
 
-# @FUNCTION: kde4-base_set_qt_dependencies
-# @DESCRIPTION:
-# Set qt dependencies. And use opengl based on OPENGL_REQUIRED variable.
-kde4-base_set_qt_dependencies() {
-	local qtdepend qtopengldepend
-
-	qtdepend="
-		x11-libs/qt-core:4[qt3support,ssl]
-		x11-libs/qt-gui:4[accessibility,dbus]
-		x11-libs/qt-qt3support:4[accessibility]
-		x11-libs/qt-script:4
-		x11-libs/qt-sql:4[qt3support]
-		x11-libs/qt-svg:4
-		x11-libs/qt-test:4
-	"
-	qtwebkitdepend="
-		x11-libs/qt-webkit:4
-	"
-	qtopengldepend="
-		x11-libs/qt-opengl:4
-	"
-
-	case ${WEBKIT_REQUIRED} in
-		always)
-			qtdepend="${qtdepend}
-				${qtwebkitdepend}"
-			;;
-		optional)
-			IUSE="${IUSE} webkit"
-			qtdepend="${qtdepend}
-				webkit? ( ${qtwebkitdepend} )
-			"
-			;;
-		*) WEBKIT_REQUIRED="never" ;;
-	esac
-	# opengl dependencies
-	case ${OPENGL_REQUIRED} in
-		always)
-			qtdepend="${qtdepend}
-				${qtopengldepend}
-			"
-			;;
-		optional)
-			IUSE="${IUSE} opengl"
-			qtdepend="${qtdepend}
-				opengl? ( ${qtopengldepend} )
-			"
-			;;
-		*) OPENGL_REQUIRED="never" ;;
-	esac
-
-	COMMONDEPEND="${COMMONDEPEND} ${qtdepend}"
-}
-
-if [[ ${NEED_KDE} != "none" ]] ; then
-	# Qt
-	kde4-base_set_qt_dependencies
-
-	# X11 libs
-	COMMONDEPEND="${COMMONDEPEND}
-		x11-libs/libXext
-		x11-libs/libXt
-		x11-libs/libXxf86vm
-	"
-
-	# localization deps
-	# DISABLED UNTIL PMS decide correct approach :(
-	if [[ -n ${KDE_LINGUAS} ]]; then
-		LNG_DEP=""
-		for _lng in ${KDE_LINGUAS}; do
-			# there must be or due to issue if lingua is not present in kde-l10n so
-			# it wont die but pick kde-l10n as-is.
-			LNG_DEP="${LNG_DEP}
-				|| ( kde-base/kde-l10n[linguas_${_lng},kdeprefix=] kde-base/kde-l10n[kdeprefix=] )"
-		done
-	fi
-
-	# Set common dependencies for all ebuilds that inherit this eclass
-	DEPEND="${DEPEND} ${COMMONDEPEND}
-		>=dev-util/cmake-2.6.2
-		dev-util/pkgconfig
-		>=sys-apps/sandbox-1.3.2
-	"
-	RDEPEND="${RDEPEND} ${COMMONDEPEND}"
-fi # NEED_KDE != NONE block
-
-if [[ $BUILD_TYPE = live ]]; then
-	# Disable tests for live ebuilds
-	RESTRICT="${RESTRICT} test"
-	# Live ebuilds in kde-base default to kdeprefix by default
-	IUSE="${IUSE} +kdeprefix"
-else
-	# All other ebuild types default to -kdeprefix as before
-	IUSE="${IUSE} kdeprefix"
-fi
-
 # @ECLASS-VARIABLE: OPENGL_REQUIRED
 # @DESCRIPTION:
 # Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
@@ -136,242 +40,223 @@
 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
 CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
 
-case ${CPPUNIT_REQUIRED} in
+# @ECLASS-VARIABLE: KDE_REQUIRED
+# @DESCRIPTION:
+# Is kde required? Possible values are 'always', 'optional' and 'never'.
+# This variable must be set before inheriting any eclasses. Defaults to 'always'
+# If set to always or optional, KDE_MINIMAL may be overriden as well.
+# Note that for kde-base packages this variable is fixed to 'always'.
+KDE_REQUIRED="${KDE_REQUIRED:-always}"
+
+# Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
+if [[ -n ${KDE_MINIMAL} ]]; then
+	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+		[[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
+	done
+	[[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
+else
+	KDE_MINIMAL_VALID=1
+fi
+
+# @ECLASS-VARIABLE: KDE_MINIMAL
+# @DESCRIPTION:
+# This wariable is used when KDE_REQUIRED is set, to specify required KDE minimal
+# version for apps to work. Currently defaults to 4.2
+# One may override this variable to raise version requirements.
+# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
+# Note that for kde-base packages is fixed to ${SLOT}.
+KDE_MINIMAL="${KDE_MINIMAL:-4.2}"
+
+# Fallback behaviour (for now)
+# TODO Remove when tree is clean
+if [[ -n ${NEED_KDE} ]]; then
+	case ${NEED_KDE} in
+		none)
+			KDE_REQUIRED="never"
+			;;
+		*)
+			KDE_REQUIRED="always"
+			KDE_MINIMAL="${NEED_KDE}"
+			;;
+	esac
+fi
+
+# OpenGL dependencies
+qtopengldepend="
+	x11-libs/qt-opengl:4
+"
+case ${OPENGL_REQUIRED} in
 	always)
-		DEPEND="${DEPEND}
-			dev-util/cppunit
+		COMMONDEPEND="${COMMONDEPEND} ${qtopengldepend}"
+		;;
+	optional)
+		IUSE="${IUSE} opengl"
+		COMMONDEPEND="${COMMONDEPEND}
+			opengl? ( ${qtopengldepend} )
 		"
 		;;
+	*) ;;
+esac
+unset qtopengldepend
+
+# WebKit dependencies
+qtwebkitdepend="
+	x11-libs/qt-webkit:4
+"
+case ${WEBKIT_REQUIRED} in
+	always)
+		COMMONDEPEND="${COMMONDEPEND} ${qtwebkitdepend}"
+		;;
+	optional)
+		IUSE="${IUSE} webkit"
+		COMMONDEPEND="${COMMONDEPEND}
+			webkit? ( ${qtwebkitdepend} )
+		"
+		;;
+	*) ;;
+esac
+unset qtwebkitdepend
+
+# CppUnit dependencies
+cppuintdepend="
+	dev-util/cppunit
+"
+case ${CPPUNIT_REQUIRED} in
+	always)
+		DEPEND="${DEPEND} ${cppuintdepend}"
+		;;
 	optional)
 		IUSE="${IUSE} test"
 		DEPEND="${DEPEND}
-			test? ( dev-util/cppunit )
+			test? ( ${cppuintdepend} )
 		"
 		;;
-	*)
-		CPPUNIT_REQUIRED="never"
-		;;
+	*) ;;
 esac
+unset cppuintdepend
 
-# @ECLASS-VARIABLE: NEED_KDE
-# @DESCRIPTION:
-# This variable sets the version of KDE4 which will be used by the eclass.
-# For kde-base packages, if it is not set by the ebuild,
-# it's assumed that the required KDE4 version is the latest available.
-# For non kde-base packages, it is also set to the latest by default.
-#
-# For more precise adjustments or for specifying particular kde version,
-# KDE_MINIMAL variable can be used.
-#
-# @CODE
-# Acceptable values are:
-#	- latest - Use latest version in the portage tree
-#		Default for kde-base ebuilds.
-#	- live - Use live release (live ebuilds)
-#	- none - Let the ebuild handle SLOT, kde dependencies, KDEDIR, ...
-#	- 4.2, 4.1, kde-4 - respective slots for kde versions
-# @CODE
-# Note: default NEED_KDE is latest
-NEED_KDE="${NEED_KDE:=latest}"
-export NEED_KDE
+# DEPRECATED block
+if [[ ${NEED_KDE} != "none" ]]; then
+	# localization deps
+	# DISABLED UNTIL PMS decide correct approach :(
+	if [[ -n ${KDE_LINGUAS} ]]; then
+		LNG_DEP=""
+		for _lng in ${KDE_LINGUAS}; do
+			# there must be or due to issue if lingua is not present in kde-l10n so
+			# it wont die but pick kde-l10n as-is.
+			LNG_DEP="${LNG_DEP}
+				|| (
+					kde-base/kde-l10n[linguas_${_lng},kdeprefix=]
+					kde-base/kde-l10n[kdeprefix=]
+				)
+			"
+		done
+	fi
+fi # NEED_KDE != NONE block
 
-# @ECLASS-VARIABLE: KDE_MINIMAL
-# @DESCRIPTION:
-# This wariable is used when NEED_KDE="latest" is set, to specify the
-# required KDE minimal version for which apps will work.
-# @CODE
-# KDE_MINIMAL="-4.1"
-# @CODE
-# Note: default minimal version is kde-4.1, which means that the apps will work
-# with any KDE version >=${KDE_MINIMAL}
-KDE_MINIMAL="${KDE_MINIMAL:=4.2}"
-export KDE_MINIMAL
+# Setup packages inheriting this eclass
+case ${KDEBASE} in
 
-# FIXME: the code section, explanation of live. The last sentence needs other
-# formulation too.
-#
-# @ECLASS-VARIABLE: KDE_WANTED
-# @DESCRIPTION:
-# When NEED_KDE=latest is inherited, KDE_WANTED serves to indicate the prefered kde
-# version. It's value is looked for before any other. Useful when having more
-# +kdeprefix installs: you can choose which kde version, if present, to link
-# against.
-#
-# @CODE
-# Acceptable values are:
-# 		stable = whatever is main tree (now 4.1)
-# 		testing = whatever is in testing on main tree
-# 		snapshot = whatever is released under snapshots (4.2 at present)
-# 		live = live svn ebuilds, also default value, do not be scared it goes in this
-#
-# order: live->snapshot->testing->stable, when searching for kde. This way we
-# allow users to use just kde4snapshots and use software from the tree.
-KDE_WANTED="${KDE_WANTED:=live}"
-export KDE_WANTED
-
-case ${NEED_KDE} in
-	latest)
-		if [[ $KDEBASE = kde-base ]]; then
-			case ${PV} in
-				4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
-					_kdedir="4.3"
-					_pv="-${PV}:4.3"
-					_pvn="-${PV}"
-					;;
-				4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
-					_kdedir="4.2"
-					_pv="-${PV}:4.2"
-					_pvn="-${PV}"
-					 ;;
-				4.1*| 4.0.9* | 4.0.8*)
-					_kdedir="4.1"
-					_pv="-${PV}:4.1"
-					_pvn="-${PV}"
-					 ;;
-				4.0*)
-					_kdedir="4.0"
-					_pv="-${PV}:kde-4"
-					_pvn="-${PV}"
-					;;
-				3.9*)
-					_kdedir="3.9"
-					_pv="-${PV}:kde-4"
-					_pvn="-${PV}"
-					;;
-				9999*)
-					_kdedir="live"
-					_pv="-${PV}:live"
-					_pvn="-${PV}"
-					;;
-				*)
-					die "NEED_KDE=latest not supported for PV=${PV}" ;;
-			esac
-			_operator=">="
+	kde-base)
+		if [[ $BUILD_TYPE = live ]]; then
+			# Disable tests for live ebuilds
+			RESTRICT="${RESTRICT} test"
+			# Live ebuilds in kde-base default to kdeprefix by default
+			IUSE="${IUSE} +kdeprefix"
 		else
-			# this creates dependency on any version of kde4
-			_operator=">="
-			_pv="-${KDE_MINIMAL}"
-			_pvn=${_pv}
+			# All other ebuild types default to -kdeprefix as before
+			IUSE="${IUSE} kdeprefix"
 		fi
+		# Determine SLOT from PV
+		case ${PV} in
+			4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
+			4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
+			*9999*) SLOT="live" ;;
+			*) die "Unsupported ${PV}" ;;
+		esac
+		_kdedir="${SLOT}"
+		_pv="-${PV}:${SLOT}"
+		_pvn="-${PV}"
+
+		# Block installation of other SLOTS unless kdeprefix
+		for slot in ${KDE_SLOTS[@]}; do
+			# Block non kdeprefix ${PN} on other slots
+			if [[ ${SLOT} != ${slot} ]]; then
+				RDEPEND="${RDEPEND}
+					!kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )
+				"
+			fi
+		done
 		;;
 
-	# NEED_KDE="${PV}"
-	scm|svn|live|9999*)
-		_kdedir="live"
-		_operator=">="
-		_pv="-${NEED_KDE}:live"
-		_pvn="-${NEED_KDE}"
-		export NEED_KDE="live"
-		;;
-	4.3 | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
-		_kdedir="4.3"
-		_pv="-${NEED_KDE}:4.3"
-		_pvn="-${NEED_KDE}"
-		_operator=">="
-		;;
-	4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
-		_kdedir="4.2"
-		_pv="-${NEED_KDE}:4.2"
-		_pvn="-${NEED_KDE}"
-		_operator=">="
-		;;
-	4.1 | 4.0.9* | 4.0.8*)
-		_kdedir="4.1"
-		_pv="-${NEED_KDE}:4.1"
-		_pvn="-${NEED_KDE}"
-		_operator=">="
-		;;
-	4.0* | 4)
-		_kdedir="4.0"
-		_operator=">="
-		_pv="-${NEED_KDE}:kde-4"
-		_pvn="-${NEED_KDE}"
-		;;
-	3.9*)
-		_kdedir="3.9"
-		_operator=">="
-		_pv="-${NEED_KDE}:kde-4"
-		_pvn="-${NEED_KDE}"
-		;;
-
-	# The ebuild handles dependencies, KDEDIR, SLOT.
-	none)
-		:
+	koffice)
+		SLOT="2"
+		_pv="-${KDE_MINIMAL}"
+		_pvn="${_pv}"
 		;;
 
 	*)
-		die "NEED_KDE=${NEED_KDE} currently not supported."
+		_pv="-${KDE_MINIMAL}"
+		_pvn="${_pv}"
 		;;
-esac
-
-if [[ ${NEED_KDE} != none ]]; then
-	#Set the SLOT
-	if [[ -n ${KDEBASE} ]]; then
-		if [[ ${NEED_KDE} = live ]]; then
-			SLOT="live"
-		else
-			case ${KMNAME} in
-				koffice)
-					case ${PV} in
-						9999*) SLOT="live" ;;
-						*) SLOT="2" ;;
-					esac
-					;;
-				kdevelop)
-					case ${PV} in
-						9999*) SLOT="live" ;;
-						4.0*|3.9*) SLOT="4" ;;
-					esac
-					;;
-				kdevplatform)
-					case ${PV} in
-						9999*) SLOT="live" ;;
-						1.0*|0.9*) SLOT="1" ;;
-					esac
-					;;
-				*)
-					case ${PV} in
-						9999*) SLOT="live" ;;
-						4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
-						4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
-						4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
-						*) SLOT="4.1" ;;
-					esac
-					;;
-			esac
-		fi
-	fi
 
-	# Block installation of other SLOTS unless kdeprefix
-	for KDE_SLOT in ${KDE_SLOTS[@]}; do
-		# block non kdeprefix ${PN} on other slots
-		# we do this only if we do not depend on any version of kde
-		if [[ ${SLOT} != ${KDE_SLOT} ]]; then
-			RDEPEND="${RDEPEND}
-				!kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )
-			"
-		fi
-	done
+esac
 
-	# Adding kdelibs and kdebase-data deps to all other packages.
-	if [[ ${PN} != kdelibs ]]; then
-		DEPEND="${DEPEND}
-			kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
-			!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
+# KDE dependencies
+kdecommondepend="
+	dev-lang/perl
+	x11-libs/libXext
+	x11-libs/libXt
+	x11-libs/libXxf86vm
+	x11-libs/qt-core:4[qt3support,ssl]
+	x11-libs/qt-gui:4[accessibility,dbus]
+	x11-libs/qt-qt3support:4[accessibility]
+	x11-libs/qt-script:4
+	x11-libs/qt-sql:4[qt3support]
+	x11-libs/qt-svg:4
+	x11-libs/qt-test:4
+"
+if [[ ${PN} != kdelibs ]]; then
+	if [[ ${KDEBASE} = kde-base ]]; then
+		kdecommondepend="${kdecommondepend}
+			kdeprefix? ( >=kde-base/kdelibs${_pv}[kdeprefix] )
+			!kdeprefix? ( >=kde-base/kdelibs${_pvn}[-kdeprefix] )
 		"
-		RDEPEND="${RDEPEND}
-			kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
-			!kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
+	else
+		kdecommondepend="${kdecommondepend}
+			>=kde-base/kdelibs${_pv}
 		"
-		if [[ ${PN} != kdepimlibs && ${PN} != kdebase-data ]]; then
-			RDEPEND="${RDEPEND}
-				kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
-				!kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )
-			"
-		fi
 	fi
-	unset _operator _pv _pvn
 fi
+unset _pv _pvn
+kdedepend="
+	>=dev-util/cmake-2.6.2
+	dev-util/pkgconfig
+	>=sys-apps/sandbox-1.3.2
+"
+case ${KDE_REQUIRED} in
+	always)
+		COMMONDEPEND="${COMMONDEPEND} ${kdecommondepend}"
+		DEPEND="${DEPEND} ${kdedepend}"
+		;;
+	optional)
+		IUSE="${IUSE} kde"
+		COMMONDEPEND="${COMMONDEPEND}
+			kde? ( ${kdecommondepend} )"
+		DEPEND="${DEPEND}
+			kde? ( ${kdedepend} )"
+		;;
+	*) ;;
+esac
+unset kdecommondepend kdedepend
+
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
+
+# Accumulate dependencies set by this eclass
+DEPEND="${DEPEND} ${COMMONDEPEND}"
+RDEPEND="${RDEPEND} ${COMMONDEPEND}"
 
 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
 # koffice ebuild, the URI should be set in the ebuild itself
@@ -382,7 +267,7 @@
 		# Split ebuild, or extragear stuff
 		if [[ -n ${KMNAME} ]]; then
 		    ESVN_PROJECT="${KMNAME}"
-			if [[ -z ${KMNOMODULE} && -z ${KMMODULE} ]]; then
+			if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
 				KMMODULE="${PN}"
 			fi
 			# Split kde-base/ ebuilds: (they reside in trunk/KDE)
@@ -393,11 +278,18 @@
 				kdereview)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
 					;;
+				kdesupport)
+					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+					ESVN_PROJECT="${PN}"
+					;;
 				kde*)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}"
 					;;
 				extragear*|playground*)
+					# Unpack them in toplevel dir, so that they won't conflict with kde4-meta
+					# build packages from same svn location.
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+					ESVN_PROJECT="${PN}"
 					;;
 				koffice)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
@@ -421,7 +313,7 @@
 					kdebase-apps)
 						_kmname="kdebase" ;;
 					*)
-						_kmname=${KMNAME} ;;
+						_kmname="${KMNAME}" ;;
 				esac
 			else
 				_kmname=${PN}
@@ -452,49 +344,57 @@
 
 # @ECLASS-VARIABLE: PREFIX
 # @DESCRIPTION:
-# Set the installation PREFIX. All kde-base ebuilds go into the KDE4 installation directory.
-# Applications installed by the other ebuilds go into ${KDEDIR} by default, this value
-# can be superseded by defining PREFIX before inheriting kde4-base.
-# This value is set on pkg_setup
-PREFIX=""
-
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - NEED_KDE ${NEED_KDE}"
+# Set the installation PREFIX for non kde-base applications. It defaults to /usr.
+# kde-base packages go into KDE4 installation directory (KDEDIR) by default.
+# No matter the PREFIX, package will be built agains KDE installed in KDEDIR.
 
 # @FUNCTION: kde4-base_pkg_setup
 # @DESCRIPTION:
-# Adds flags needed by all of KDE 4 to $QT4_BUILT_WITH_USE_CHECK. Uses
-# kde4-functions_check_use from kde4-functions.eclass to print appropriate
-# errors and die if any required flags listed in $QT4_BUILT_WITH_USE_CHECK or
-# $KDE4_BUILT_WITH_USE_CHECK are missing.
+# Do the basic kdeprefix KDEDIR settings and determine with which kde should
+# optional applications link
 kde4-base_pkg_setup() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	# Don't set KDEHOME during compile, it will cause access violations
+	# QA ebuilds
+	case ${NEED_KDE} in
+		none) ewarn "QA Notice: using deprecated NEED_KDE variable, use KDE_REQUIRED=\"never\" or KDE_REQUIRED=\"optional\" instead. You may want to override KDE_MINIMAL as well (default is KDE_MINIMAL=\"${KDE_MINIMAL}\")." ;;
+		*) [[ -n ${NEED_KDE} ]] && ewarn "QA Notice: using deprecated NEED_KDE variable, use KDE_MINIMAL instead (default is KDE_MINIMAL=\"${KDE_MINIMAL}\")." ;;
+	esac
+	[[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})."
+
+	# Don't set KDEHOME during compilation, it will cause access violations
 	unset KDEHOME
 
-	# Search for best suitable kde installation for misc kde package.
-	# Computation based on NEED_KDE and KDE_MINIMAL
-	[[ ${KDEBASE} != kde-base ]] && [[ ${NEED_KDE} = latest || ${NEED_KDE} = none ]] && get_latest_kdedir
-
-	# Set PREFIX
-	if use kdeprefix; then
-		KDEDIR="/usr/kde/${_kdedir}"
-		KDEDIRS="/usr/local/:/usr:${KDEDIR}"
+	if [[ ${KDEBASE} = kde-base ]]; then
+		if use kdeprefix; then
+			KDEDIR="/usr/kde/${_kdedir}"
+		else
+			KDEDIR="/usr"
+		fi
+		PREFIX="${PREFIX:-${KDEDIR}}"
 	else
-		KDEDIR="/usr"
-		KDEDIRS="/usr/local/:/usr"
+		# Determine KDEDIR by loooking for the closest match with KDE_MINIMAL
+		KDEDIR=
+		local kde_minimal_met
+		for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+			[[ -z ${kde_minimal_met} ]] && [[ ${slot} = ${KDE_MINIMAL} ]] && kde_minimal_met=1
+			if [[ -n ${kde_minimal_met} ]] && has_version "kde-base/kdelibs:${slot}"; then
+				if has_version "kde-base/kdelibs:${slot}[kdeprefix]"; then
+					KDEDIR="/usr/kde/${slot}"
+				else
+					KDEDIR="/usr"
+				fi
+				break;
+			fi
+		done
+		[[ -z KDEDIR ]] && die "Failed to determine KDEDIR!"
+		PREFIX="${PREFIX:-/usr}"
 	fi
-	# Set the prefix based on KDEDIR
-	# Make it a consequence of kdeprefix
-	PREFIX=${KDEDIR}
 
+	# Not needed anymore
 	unset _kdedir
 
-	# check if qt has correct deps
-	[[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
-		die "built_with_use illegal in this EAPI!"
-
-	if [[ ${BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
+	if [[ ${BUILD_TYPE} = live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
 		echo
 		elog "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
 		elog "Use it at your own risk."
@@ -554,27 +454,14 @@
 		append-cppflags -DQT_NO_DEBUG
 	fi
 
-	 # Enable generation of HTML handbook
-	if has htmlhandbook ${IUSE//+} && use htmlhandbook; then
-		ebegin "Enabling building of HTML handbook"
-		mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_HTMLHANDBOOK=ON"
-		eend $?
-	fi
-
 	# Build tests in src_test only, where we override this value
-	mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=OFF"
+	local cmakeargs="-DKDE4_BUILD_TESTS=OFF"
 
 	# Set distribution name
-	[[ ${PN} = kdelibs ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
-
-	# runpath linking
-	mycmakeargs="${mycmakeargs} -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
+	[[ ${PN} = kdelibs ]] && cmakeargs="${cmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
 
 	# Here we set the install prefix
-	mycmakeargs="${mycmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
-
-	# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
-	use kdeprefix || mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
+	cmakeargs="${cmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
 
 	# Set environment
 	QTEST_COLORED=1
@@ -583,20 +470,28 @@
 	# Hardcode path to *.pc KDE files
 	export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
 
-	# Override some environment variables
-	PATH="${KDEDIR}/bin:${PATH}"
-	LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
-
-	# Set cmake prefixes to allow buildsystem to localize valid KDE installation when more are present
-	if use kdeprefix; then
-		mycmakeargs="${mycmakeargs}
-			-DCMAKE_SYSTEM_INCLUDE_PATH=${KDEDIR}/include
-			-DCMAKE_SYSTEM_LIBRARY_PATH=${KDEDIR}/$(get_libdir)
-			-DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}
-			-DCMAKE_SYSTEM_PROGRAM_PATH=${KDEDIR}/bin"
+	# Shadow existing /usr installations
+	unset KDEDIRS
+
+	# Override some environment variables - only when kdeprefix is different,
+	# to not break ccache/distcc
+	if [[ ${KDEDIR} != /usr ]]; then
+		PATH="${KDEDIR}/bin:${PATH}"
+		LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
 	fi
 
-	[ -e CMakeLists.txt ] && cmake-utils_src_configure
+	if has kdeprefix ${IUSE//+} && use kdeprefix; then
+		# Set cmake prefixes to allow buildsystem to localize valid KDE installation
+		# when more are present
+		cmakeargs="${cmakeargs} -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}"
+	else
+		# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
+		cmakeargs="${cmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
+	fi
+
+	mycmakeargs="${cmakeargs} ${mycmakeargs}"
+
+	cmake-utils_src_configure
 }
 
 # @FUNCTION: kde4-base_src_compile
@@ -657,11 +552,11 @@
 		done
 	fi
 
-	if [[ -n ${KDEBASE} && -d "${D}/usr/share/doc/${PF}" ]]; then
+	if [[ -n ${KDEBASE} ]] && [[ -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."
+		dodir /usr/share/doc/KDE4 && \
+			mv "${D}/usr/share/doc/${PF}" "${D}"/usr/share/doc/KDE4/ || \
+			die "Failed to move docs to KDE4/."
 	fi
 }
 



1.15                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.15&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.15&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.14&r2=1.15

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- kde4-functions.eclass	9 Mar 2009 19:41:26 -0000	1.14
+++ kde4-functions.eclass	13 Apr 2009 00:02:45 -0000	1.15
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.14 2009/03/09 19:41:26 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.15 2009/04/13 00:02:45 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -24,40 +24,40 @@
 # This gets set to a non-zero value when a package is considered a kde or
 # koffice ebuild.
 
-if [[ $CATEGORY = kde-base ]]; then
+if [[ ${CATEGORY} = kde-base ]]; then
 	debug-print "${ECLASS}: KDEBASE ebuild recognized"
 	KDEBASE=kde-base
 fi
 
 # is this a koffice ebuild?
-if [[ $KMNAME = koffice || $PN = koffice ]]; then
+if [[ ${KMNAME} = koffice || ${PN} = koffice ]]; then
 	debug-print "${ECLASS}: KOFFICE ebuild recognized"
 	KDEBASE=koffice
 fi
 
 # @ECLASS-VARIABLE: KDE_SLOTS
 # @DESCRIPTION:
-# The slots used by all KDE versions later than 4.0. The live-ebuilds use
-# KDE_LIVE_SLOTS instead.
-KDE_SLOTS=( kde-4 4.1 4.2 4.3 )
+# The slots used by all KDE versions later than 4.0. The live KDE releases use
+# KDE_LIVE_SLOTS instead. Values should be ordered.
+KDE_SLOTS=( "kde-4" "4.1" "4.2" "4.3" )
 
 # @ECLASS-VARIABLE: KDE_LIVE_SLOTS
 # @DESCRIPTION:
-# The slots used by all KDE live versions.
-KDE_LIVE_SLOTS=( live )
+# The slots used by KDE live versions. Values should be ordered.
+KDE_LIVE_SLOTS=( "live" )
 
 # @FUNCTION: buildsycoca
 # @DESCRIPTION:
 # Function to rebuild the KDE System Configuration Cache.
 # All KDE ebuilds should run this in pkg_postinst and pkg_postrm.
-#
-# Note that kde4-base.eclass already does this.
 buildsycoca() {
 	debug-print-function ${FUNCNAME} "$@"
-
+	
 	if [[ -z ${ROOT%%/} && -x ${KDEDIR}/bin/kbuildsycoca4 ]]; then
-		# Make sure tha cache file exists, or kbuildsycoca4 will fail
+		# Make sure tha cache file exists, writable by root and readable by
+		# others. Otherwise kbuildsycoca4 will fail.
 		touch "${KDEDIR}/share/kde4/services/ksycoca4"
+		chmod 644 "${KDEDIR}/share/kde4/services/ksycoca4"
 
 		# We have to unset DISPLAY and DBUS_SESSION_BUS_ADDRESS, the ones
 		# in the user's environment (through su [without '-']) may cause
@@ -65,11 +65,25 @@
 
 		ebegin "Running kbuildsycoca4 to build global database"
 		# This is needed because we support multiple kde versions installed together.
-		XDG_DATA_DIRS="/usr/share:${KDEDIR}/share:/usr/local/share" \
+		# Lookup in order - local, KDEDIR, /usr, do not duplicate entries btw.
+		local KDEDIRS="/usr/share"
+		[[ ${KDEDIR} != "/usr" ]] && KDEDIRS="${KDEDIR}/share:${KDEDIRS}"
+		XDG_DATA_DIRS="/usr/local/share:${KDEDIRS}" \
 			DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
 			${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
 		eend $?
 	fi
+
+	# fix permission for some directories
+	for x in share/config share/kde4; do
+		if [[ $(stat --format=%a /usr/${x}) != 755 || $(stat --format=%a ${KDEDIR}/${x}) != 755 ]]; then
+			ewarn "Package ${PN} is breaking ${KDEDIR}/${x} permissions."
+			ewarn "Please report this issue to gentoo bugzilla."
+			einfo "Permissions will get adjusted automatically now."
+			find /usr/${x} -type d -print0 | xargs -0 chmod 755
+			[[ ${KDEDIR} = /usr ]] || find ${KDEDIR}/${x} -type d -print0 | xargs -0 chmod 755
+		fi
+	done
 }
 
 # @FUNCTION: comment_all_add_subdirectory
@@ -105,39 +119,39 @@
 	local lingua sr_mess wp
 
 	# ebuild overridable linguas directory definition
-	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:=${S}/po}
-	cd "$KDE_LINGUAS_DIR" || die "wrong linguas dir specified"
+	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:="${S}/po"}
+	cd "${KDE_LINGUAS_DIR}" || die "wrong linguas dir specified"
 
 	# fix all various crazy sr@Latn variations
 	# this part is only ease for ebuilds, so there wont be any die when this
 	# fail at any point
 	sr_mess="sr@latn sr@latin sr@Latin"
 	for wp in ${sr_mess}; do
-		[[ -e "$wp.po" ]] && mv "$wp.po" "sr@Latn.po"
-		if [[ -d "$wp" ]]; then
+		[[ -e "${wp}.po" ]] && mv "${wp}.po" "sr@Latn.po"
+		if [[ -d "${wp}" ]]; then
 			# move dir and fix cmakelists
-			mv "$wp" "sr@Latn"
+			mv "${wp}" "sr@Latn"
 			sed -i \
-				-e "s:$wp:sr@Latin:g" \
+				-e "s:${wp}:sr@Latin:g" \
 				CMakeLists.txt
 		fi
 	done
 
 	for lingua in ${KDE_LINGUAS}; do
-		if [[ -e "$lingua.po" ]]; then
-			mv "$lingua.po" "$lingua.po.old"
+		if [[ -e "${lingua}.po" ]]; then
+			mv "${lingua}.po" "${lingua}.po.old"
 		fi
 	done
 	comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
 	for lingua in ${LINGUAS}; do
 		ebegin "Enabling LANGUAGE: ${lingua}"
-		if [[ -d "$lingua" ]]; then
+		if [[ -d "${lingua}" ]]; then
 			sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 				-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 				-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
 		fi
-		if [[ -e "$lingua.po.old" ]]; then
-			mv "$lingua.po.old" "$lingua.po"
+		if [[ -e "${lingua}.po.old" ]]; then
+			mv "${lingua}.po.old" "${lingua}.po"
 		fi
 		eend $?
 	done
@@ -147,7 +161,7 @@
 # @DESCRIPTION:
 # Determine whether we are using live ebuild or tbzs.
 get_build_type() {
-	if [[ $SLOT = live || $PV = 9999* ]]; then
+	if [[ ${SLOT} = live || ${PV} = 9999* ]]; then
 		BUILD_TYPE="live"
 	else
 		BUILD_TYPE="release"
@@ -155,65 +169,13 @@
 	export BUILD_TYPE
 }
 
-# @FUNCTION: get_latest_kdedir
-# @DESCRIPTION:
-# We set up KDEDIR according to the latest KDE version installed; installing our
-# package for all available installs is just insane.
-# We can check for kdelibs because it is the most basic package; no KDE package
-# working without it. This might be changed in future.
-get_latest_kdedir() {
-	case ${KDE_WANTED} in
-		# note this will need to be updated as stable moves and so on
-		live)
-			_versions="9999 4.2.61 4.2.0 4.1.0"
-			;;
-		snapshot)
-			_versions="4.2.61 4.2.0 4.1.0 9999"
-			;;
-		testing)
-			_versions="4.2.0 4.1.0 4.2.61 9999"
-			;;
-		stable)
-			_versions="4.2.0 4.1.0 4.1.61 9999"
-			;;
-		*) die "KDE_WANTED=${KDE_WANTED} not supported here." ;;
-	esac
-	# check if exists and fallback as we go
-	for X in ${_versions}; do
-		if has_version ">=kde-base/kdelibs-${X}"; then
-			# figure out which X we are in and set it into _kdedir
-			case ${X} in
-				# also keep track here same for kde_wanted
-				9999)
-					_kdedir="live"
-					break
-				;;
-				4.3.0 | 4.2.61)
-					_kdedir="4.3"
-					break
-				;;
-				4.2.0 | 4.1.61)
-					_kdedir="4.2"
-					break
-				;;
-				4.1.0)
-					_kdedir="4.1"
-					break
-				;;
-			esac
-		fi
-	done
-
-	debug-print-function ${FUNCNAME} "$@" "KDE_WANTED=${KDE_WANTED} -> _kdedir=${_kdedir}"
-}
-
 # @FUNCTION: migrate_store_dir
 # @DESCRIPTION:
-# Migrate the remnants of ${ESVN_STORE_DIR}/KDE/ to ${ESVN_STORE_DIR}/.
-# Perform experimental split of kdebase to kdebase-apps.
+# Universal store dir migration
+# * performs split of kdebase to kdebase-apps when needed
+# * moves playground/extragear kde4-base-style to toplevel dir
 migrate_store_dir() {
-	local cleandir
-	cleandir="${ESVN_STORE_DIR}/KDE"
+	local cleandir="${ESVN_STORE_DIR}/KDE"
 	if [[ -d "${cleandir}" ]]; then
 		ewarn "'${cleandir}' has been found. Moving contents to new location."
 		addwrite "${ESVN_STORE_DIR}"
@@ -232,10 +194,28 @@
 		# Move the rest
 		local pkg
 		for pkg in "${cleandir}"/*; do
-			mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "failed to move ${pkg}"
+			mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "Failed to move '${pkg}'"
 		done
 		rmdir "${cleandir}" || die "Could not move obsolete KDE store dir. Please move '${cleandir}' contents to appropriate location (possibly ${ESVN_STORE_DIR}) and manually remove '${cleandir}' in order to continue."
 	fi
+
+	if ! hasq kde4-meta ${INHERITED}; then
+		case ${KMNAME} in
+			extragear*|playground*)
+				local svnlocalpath="${ESVN_STORE_DIR}"/"${KMNAME}"/"${PN}"
+				if [[ -d "${svnlocalpath}" ]]; then
+					local destdir="${ESVN_STORE_DIR}"/"${ESVN_PROJECT}"/"`basename "${ESVN_REPO_URI}"`"
+					ewarn "'${svnlocalpath}' has been found."
+					ewarn "Moving contents to new location: ${destdir}"
+					addwrite "${ESVN_STORE_DIR}"
+					mkdir -p "${ESVN_STORE_DIR}"/"${ESVN_PROJECT}" && mv -f "${svnlocalpath}" "${destdir}" \
+						|| die "Failed to move to '${svnlocalpath}'"
+					# Try cleaning empty directories
+					rmdir "`dirname "${svnlocalpath}"`" 2> /dev/null
+				fi
+				;;
+		esac
+	fi
 }
 
 # Functions handling KMLOADLIBS and KMSAVELIBS
@@ -246,7 +226,7 @@
 save_library_dependencies() {
 	local depsfile="${T}/${PN}:${SLOT}"
 
-	ebegin "Saving library dependendencies in ${depsfile##*/}"
+	ebegin "Saving library dependencies in ${depsfile##*/}"
 	echo "EXPORT_LIBRARY_DEPENDENCIES(\"${depsfile}\")" >> "${S}/CMakeLists.txt" || \
 		die "Failed to save the library dependencies."
 	eend $?
@@ -256,8 +236,9 @@
 # @DESCRIPTION:
 # Install generated CMake library dependencies to /var/lib/kde
 install_library_dependencies() {
-	local depsfile="$T/$PN:$SLOT"
-	ebegin "Installing library dependendencies as ${depsfile##*/}"
+	local depsfile="${T}/${PN}:${SLOT}"
+
+	ebegin "Installing library dependencies as ${depsfile##*/}"
 	insinto /var/lib/kde
 	doins "${depsfile}" || die "Failed to install library dependencies."
 	eend $?
@@ -268,7 +249,7 @@
 # Inject specified library dependencies in current package
 load_library_dependencies() {
 	local pn i depsfile
-	ebegin "Injecting library dependendencies from '${KMLOADLIBS}'"
+	ebegin "Injecting library dependencies from '${KMLOADLIBS}'"
 
 	i=0
 	for pn in ${KMLOADLIBS} ; do



1.17                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.17&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.17&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.16&r2=1.17

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- kde4-meta.eclass	15 Mar 2009 15:27:13 -0000	1.16
+++ kde4-meta.eclass	13 Apr 2009 00:02:45 -0000	1.17
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.16 2009/03/15 15:27:13 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.17 2009/04/13 00:02:45 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -31,6 +31,13 @@
 		;;
 esac
 
+# Add khelpcenter dependency when installing
+if [[ ${PN} != khelpcenter ]] && has doc ${IUSE//+} && use doc; then
+	RDEPEND="${RDEPEND}
+		>=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=]
+	"
+fi
+
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
 	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphic)
@@ -79,52 +86,30 @@
 		;;
 	koffice)
 		[[ ${PN} != koffice-data ]] && IUSE="debug"
-		case ${PV} in
-			9999*)
-				DEPEND="${DEPEND}
-					!app-office/${PN}:2
-				"
-				;;
-			1.9*|2*)
-				DEPEND="${DEPEND}
-					!app-office/${PN}:live
-				"
-				;;
-		esac
-		DEPEND="${DEPEND}
-			!app-office/${PN}:0
-			!app-office/koffice:0
-			!app-office/koffice-meta:0
+		RDEPEND="${RDEPEND}
+			!kdeprefix? (
+				!app-office/${PN}:0
+				!app-office/koffice:0
+				!app-office/koffice-meta:0
+			)
 		"
-		case ${PN} in
-			koffice-data)
-				DEPEND="${DEPEND}
-					media-libs/lcms
-				"
-				RDEPEND="${RDEPEND}
-					media-libs/lcms
-				"
-				;;
-			*)
-				COMMON_DEPEND="
-					dev-cpp/eigen:2
-					media-gfx/imagemagick[openexr?]
-					media-libs/fontconfig
-					media-libs/freetype:2
-				"
-				DEPEND="${DEPEND} ${COMMON_DEPEND}"
-				RDEPEND="${RDEPEND} ${COMMON_DEPEND}"
-				unset COMMON_DEPEND
-				if [[ ${PN} != koffice-libs && ${PN} != koffice-data ]]; then
-					DEPEND="${DEPEND}
-						>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]
-					"
-					RDEPEND="${RDEPEND}
-						>=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]
-					"
-				fi
-				;;
-		esac
+		COMMON_DEPEND="
+			dev-cpp/eigen:2
+			media-gfx/imagemagick[openexr?]
+			media-libs/fontconfig
+			media-libs/freetype:2
+		"
+		DEPEND="${DEPEND} ${COMMON_DEPEND}"
+		RDEPEND="${RDEPEND} ${COMMON_DEPEND}"
+		unset COMMON_DEPEND
+		if [[ ${PN} != koffice-libs && ${PN} != koffice-data ]]; then
+			DEPEND="${DEPEND}
+				>=app-office/koffice-libs-${PV}:${SLOT}
+			"
+			RDEPEND="${RDEPEND}
+				>=app-office/koffice-libs-${PV}:${SLOT}
+			"
+		fi
 		;;
 esac
 
@@ -137,10 +122,10 @@
 		case ${KMNAME} in
 			extragear*|playground*)
 				ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+				ESVN_PROJECT="${KMNAME}"
 				;;
 		esac
 		;;
-	*) ;;
 esac
 
 # @ECLASS-VARIABLE: KMNAME
@@ -345,7 +330,8 @@
 kde4-meta_create_extractlists() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if has htmlhandbook ${IUSE//+} && use htmlhandbook; then
+	# TODO change to KMEXTRA for more strict check
+	if has doc ${IUSE//+} && use doc && [[ -n ${KMMODULE} ]]; then
 		# We use the basename of $KMMODULE because $KMMODULE can contain
 		# the path to the module subdirectory.
 		KMEXTRA_NONFATAL="${KMEXTRA_NONFATAL} doc/${KMMODULE##*/}"
@@ -417,7 +403,7 @@
 	case ${KMNAME} in
 		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics|kdepim)
 			case ${PN} in
-				libkdegames|libkdeedu|marble|libkworkspace)
+				libkdegames|libkdeedu|libkworkspace)
 					KMEXTRA="${KMEXTRA}
 						cmake/modules/"
 					;;
@@ -609,6 +595,14 @@
 				;;
 			esac
 			;;
+		kdewebdev)
+			# Disable hardcoded kdepimlibs check
+			sed -e 's/find_package(KdepimLibs REQUIRED)/macro_optional_find_package(KdepimLibs)/' \
+				-e 's/find_package(LibXml2 REQUIRED)/macro_optional_find_package(LibXml2 REQUIRED)/' \
+				-e 's/find_package(LibXslt REQUIRED)/macro_optional_find_package(LibXslt REQUIRED)/' \
+				-e 's/find_package(Boost REQUIRED)/macro_optional_find_package(Boost REQUIRED)/' \
+				-i CMakeLists.txt || die "failed to disable hardcoded checks"
+			;;
 		koffice)
 			# prevent collisions
 			if [[ ${PN} != koffice-data ]]; then
@@ -631,6 +625,19 @@
 kde4-meta_src_configure() {
 	debug-print-function ${FUNCNAME} "$@"
 
+	# Set some cmake default values here (usually workarounds for automagic deps)
+	case ${KMNAME} in
+		kdewebdev)
+			mycmakeargs="
+				-DWITH_KdepimLibs=OFF
+				-DWITH_LibXml2=OFF
+				-DWITH_LibXslt=OFF
+				-DWITH_Boost=OFF
+				-DWITH_LibTidy=OFF
+				${mycmakeargs}"
+			;;
+	esac
+
 	kde4-base_src_configure
 }
 
@@ -660,12 +667,7 @@
 kde4-meta_src_install() {
 	debug-print-function $FUNCNAME "$@"
 
-	kde4-meta_src_make_doc
-	cmake-utils_src_install
-
-	if [[ -n ${KMSAVELIBS} ]]; then
-		install_library_dependencies
-	fi
+	kde4-base_src_install
 }
 
 # @FUNCTION: kde4-meta_src_make_doc
@@ -685,11 +687,17 @@
 
 # @FUNCTION: kde4-meta_pkg_postinst
 # @DESCRIPTION:
-# Currently just calls its equivalent in kde4-base.eclass(5). Use this in split
-# ebuilds.
+# Display information about application handbook and invoke kbuildsycoca4.
 kde4-meta_pkg_postinst() {
 	debug-print-function ${FUNCNAME} "$@"
 
+	if has doc ${IUSE//+} && ! use doc; then
+		echo
+		einfo "Application handbook for ${PN} has not been installed."
+		einfo "To install handbook, reemerge =${CATEGORY}/${P} with 'doc' USE flag."
+		echo
+	fi
+
 	kde4-base_pkg_postinst
 }
 






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-05-09 13:23 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-05-09 13:23 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/05/09 13:23:15

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Few minor updates to kde4 eclasses. Introduce kde4-stable-live support.

Revision  Changes    Path
1.37                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.37&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.37&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.36&r2=1.37

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- kde4-base.eclass	18 Apr 2009 21:33:08 -0000	1.36
+++ kde4-base.eclass	9 May 2009 13:23:15 -0000	1.37
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.36 2009/04/18 21:33:08 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.37 2009/05/09 13:23:15 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -53,6 +53,7 @@
 	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
 		[[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
 	done
+	unset slot
 	[[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
 else
 	KDE_MINIMAL_VALID=1
@@ -167,11 +168,12 @@
 			# All other ebuild types default to -kdeprefix as before
 			IUSE="${IUSE} kdeprefix"
 		fi
-		# Determine SLOT from PV
+		# Determine SLOT from PVs
 		case ${PV} in
+			*.9999*) SLOT="${PV/.9999*/}" ;; # stable live
 			4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
 			4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
-			*9999*) SLOT="live" ;;
+			9999*) SLOT="live" ;; # regular live
 			*) die "Unsupported ${PV}" ;;
 		esac
 		_kdedir="${SLOT}"
@@ -187,6 +189,7 @@
 				"
 			fi
 		done
+		unset slot
 		;;
 
 	koffice)
@@ -230,7 +233,6 @@
 fi
 unset _pv _pvn
 kdedepend="
-	>=dev-util/cmake-2.6.2
 	dev-util/pkgconfig
 	>=sys-apps/sandbox-1.3.2
 "
@@ -262,6 +264,23 @@
 # koffice ebuild, the URI should be set in the ebuild itself
 case ${BUILD_TYPE} in
 	live)
+		# Determine branch URL based on live type
+		local branch_prefix
+		case ${PV} in
+			9999*)
+				# trunk
+				branch_prefix="trunk/KDE"
+				;;
+			*)
+				# branch
+				branch_prefix="branches/KDE/${SLOT}"
+				# @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
+				# @DESCRIPTION
+				# Suffix appended to ESVN_PROJECT depending on fetched branch.
+				# Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
+				ESVN_PROJECT_SUFFIX="-${PV}"
+				;;
+		esac
 		SRC_URI=""
 		# @ECLASS-VARIABLE: ESVN_MIRROR
 		# @DESCRIPTION:
@@ -270,30 +289,30 @@
 		ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
 		# Split ebuild, or extragear stuff
 		if [[ -n ${KMNAME} ]]; then
-		    ESVN_PROJECT="${KMNAME}"
+		    ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
 			if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
 				KMMODULE="${PN}"
 			fi
 			# Split kde-base/ ebuilds: (they reside in trunk/KDE)
 			case ${KMNAME} in
 				kdebase-*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/kdebase/${KMNAME#kdebase-}"
+					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
 					;;
 				kdereview)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
 					;;
 				kdesupport)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
-					ESVN_PROJECT="${PN}"
+					ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
 					;;
 				kde*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}"
+					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
 					;;
 				extragear*|playground*)
 					# Unpack them in toplevel dir, so that they won't conflict with kde4-meta
 					# build packages from same svn location.
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
-					ESVN_PROJECT="${PN}"
+					ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
 					;;
 				koffice)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
@@ -304,8 +323,8 @@
 			esac
 		else
 			# kdelibs, kdepimlibs
-			ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}"
-			ESVN_PROJECT="${PN}"
+			ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
+			ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
 		fi
 		# limit syncing to 1 hour.
 		ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
@@ -327,6 +346,9 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
+						4.2.85)
+							# block for normally packed unstable releases
+							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
 							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
 						4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
@@ -391,6 +413,7 @@
 				break;
 			fi
 		done
+		unset slot
 		[[ -z KDEDIR ]] && die "Failed to determine KDEDIR!"
 		PREFIX="${PREFIX:-/usr}"
 	fi
@@ -427,6 +450,7 @@
 	fi
 
 	base_src_prepare
+	[[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
 
 	# Save library dependencies
 	if [[ -n ${KMSAVELIBS} ]] ; then
@@ -463,17 +487,20 @@
 	QTEST_COLORED=1
 	QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
 
-	# Hardcode path to *.pc KDE files
-	export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
+	# Point pkg-config path to KDE *.pc files
+	export PKG_CONFIG_PATH="${KDEDIR}/$(get_libdir)/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
 
 	# Shadow existing /usr installations
 	unset KDEDIRS
 
-	# Override some environment variables - only when kdeprefix is different,
-	# to not break ccache/distcc
 	if [[ ${KDEDIR} != /usr ]]; then
+		# Override some environment variables - only when kdeprefix is different,
+		# to not break ccache/distcc
 		PATH="${KDEDIR}/bin:${PATH}"
 		LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
+
+		# Append full RPATH
+		cmakeargs="${cmakeargs} -DCMAKE_SKIP_RPATH=OFF"
 	fi
 
 	if has kdeprefix ${IUSE//+} && use kdeprefix; then



1.18                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.18&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.18&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.17&r2=1.18

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- kde4-functions.eclass	19 Apr 2009 10:23:07 -0000	1.17
+++ kde4-functions.eclass	9 May 2009 13:23:15 -0000	1.18
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.17 2009/04/19 10:23:07 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.18 2009/05/09 13:23:15 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -165,7 +165,7 @@
 # @DESCRIPTION:
 # Determine whether we are using live ebuild or tbzs.
 get_build_type() {
-	if [[ ${SLOT} = live || ${PV} = 9999* ]]; then
+	if [[ ${SLOT} = live || ${PV} = *9999* ]]; then
 		BUILD_TYPE="live"
 	else
 		BUILD_TYPE="release"



1.18                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.18&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.18&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.17&r2=1.18

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- kde4-meta.eclass	13 Apr 2009 00:02:45 -0000	1.17
+++ kde4-meta.eclass	9 May 2009 13:23:15 -0000	1.18
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.17 2009/04/13 00:02:45 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.18 2009/05/09 13:23:15 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -122,7 +122,7 @@
 		case ${KMNAME} in
 			extragear*|playground*)
 				ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
-				ESVN_PROJECT="${KMNAME}"
+				ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
 				;;
 		esac
 		;;
@@ -252,6 +252,11 @@
 	else
 		local abort tarball tarfile f extractlist moduleprefix postfix
 		case ${PV} in
+			4.2.85)
+				# block for normally packed upstream unstable snapshots
+				KMTARPARAMS="${KMTARPARAMS} --bzip2" # bz2
+				postfix="bz2"
+				;;
 			4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
 				KMTARPARAMS="${KMTARPARAMS} --lzma" # lzma
 				postfix="lzma"






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-05-28  9:47 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-05-28  9:47 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/05/28 09:47:53

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Update kde4 eclasses from kde-testing. Mostly minor sinc. Introduce support for stable koffice2

Revision  Changes    Path
1.38                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.38&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.38&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.37&r2=1.38

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- kde4-base.eclass	9 May 2009 13:23:15 -0000	1.37
+++ kde4-base.eclass	28 May 2009 09:47:52 -0000	1.38
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.37 2009/05/09 13:23:15 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.38 2009/05/28 09:47:52 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -326,8 +326,12 @@
 			ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
 			ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
 		fi
-		# limit syncing to 1 hour.
-		ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
+		# @ECLASS-VARIABLE: ESVN_UP_FREQ
+		# @DESCRIPTION:
+		# This variable is used for specifying the timeout between svn synces
+		# for kde-base and koffice modules. Does not affect misc apps.
+		# Default value is 1 hour.
+		[[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
 		;;
 	*)
 		if [[ -n ${KDEBASE} ]]; then
@@ -357,7 +361,12 @@
 					esac
 					;;
 				koffice)
-					SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
+					case ${PV} in
+						1.9*)
+							SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
+							;;
+						*) SRC_URI="mirror://kde/stable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" ;;
+					esac
 				;;
 			esac
 			fi
@@ -393,9 +402,9 @@
 
 	if [[ ${KDEBASE} = kde-base ]]; then
 		if use kdeprefix; then
-			KDEDIR="/usr/kde/${_kdedir}"
+			KDEDIR="${ROOT}usr/kde/${_kdedir}"
 		else
-			KDEDIR="/usr"
+			KDEDIR="${ROOT}usr"
 		fi
 		PREFIX="${PREFIX:-${KDEDIR}}"
 	else
@@ -406,16 +415,16 @@
 			[[ -z ${kde_minimal_met} ]] && [[ ${slot} = ${KDE_MINIMAL} ]] && kde_minimal_met=1
 			if [[ -n ${kde_minimal_met} ]] && has_version "kde-base/kdelibs:${slot}"; then
 				if has_version "kde-base/kdelibs:${slot}[kdeprefix]"; then
-					KDEDIR="/usr/kde/${slot}"
+					KDEDIR="${ROOT}usr/kde/${slot}"
 				else
-					KDEDIR="/usr"
+					KDEDIR="${ROOT}usr"
 				fi
 				break;
 			fi
 		done
 		unset slot
 		[[ -z KDEDIR ]] && die "Failed to determine KDEDIR!"
-		PREFIX="${PREFIX:-/usr}"
+		PREFIX="${PREFIX:-${ROOT}usr}"
 	fi
 
 	# Not needed anymore
@@ -449,8 +458,8 @@
 		enable_selected_linguas
 	fi
 
-	base_src_prepare
 	[[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
+	base_src_prepare
 
 	# Save library dependencies
 	if [[ -n ${KMSAVELIBS} ]] ; then
@@ -477,6 +486,11 @@
 	# Build tests in src_test only, where we override this value
 	local cmakeargs="-DKDE4_BUILD_TESTS=OFF"
 
+	# set "real" debug mode
+	if has debug ${IUSE//+} && use debug; then
+		CMAKE_BUILD_TYPE="Debugfull"
+	fi
+
 	# Set distribution name
 	[[ ${PN} = kdelibs ]] && cmakeargs="${cmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
 
@@ -493,7 +507,7 @@
 	# Shadow existing /usr installations
 	unset KDEDIRS
 
-	if [[ ${KDEDIR} != /usr ]]; then
+	if [[ ${KDEDIR} != "${ROOT}usr" ]]; then
 		# Override some environment variables - only when kdeprefix is different,
 		# to not break ccache/distcc
 		PATH="${KDEDIR}/bin:${PATH}"
@@ -509,7 +523,7 @@
 		cmakeargs="${cmakeargs} -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}"
 	else
 		# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
-		cmakeargs="${cmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
+		cmakeargs="${cmakeargs} -DSYSCONF_INSTALL_DIR=${ROOT}etc"
 	fi
 
 	mycmakeargs="${cmakeargs} ${mycmakeargs}"
@@ -575,10 +589,10 @@
 		done
 	fi
 
-	if [[ -n ${KDEBASE} ]] && [[ -d "${D}/usr/share/doc/${PF}" ]]; then
+	if [[ -n ${KDEBASE} ]] && [[ -d "${D}${ROOT}usr/share/doc/${PF}" ]]; then
 		# work around bug #97196
 		dodir /usr/share/doc/KDE4 && \
-			mv "${D}/usr/share/doc/${PF}" "${D}"/usr/share/doc/KDE4/ || \
+			mv "${D}${ROOT}usr/share/doc/${PF}" "${D}${ROOT}usr/share/doc/KDE4/" || \
 			die "Failed to move docs to KDE4/."
 	fi
 }



1.19                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.19&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.19&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.18&r2=1.19

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- kde4-functions.eclass	9 May 2009 13:23:15 -0000	1.18
+++ kde4-functions.eclass	28 May 2009 09:47:52 -0000	1.19
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.18 2009/05/09 13:23:15 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.19 2009/05/28 09:47:52 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -16,7 +16,7 @@
 # versions.
 case ${EAPI:-0} in
 	2) : ;;
-	*) die "No way! EAPI other than 2 is not supported for now." ;;
+	*) DEPEND="EAPI-TOO-OLD" ;;
 esac
 
 # @ECLASS-VARIABLE: KDEBASE
@@ -52,7 +52,7 @@
 # All KDE ebuilds should run this in pkg_postinst and pkg_postrm.
 buildsycoca() {
 	debug-print-function ${FUNCNAME} "$@"
-	
+
 	if [[ -z ${ROOT%%/} && -x ${KDEDIR}/bin/kbuildsycoca4 ]]; then
 		# Make sure tha cache file exists, writable by root and readable by
 		# others. Otherwise kbuildsycoca4 will fail.
@@ -66,9 +66,9 @@
 		ebegin "Running kbuildsycoca4 to build global database"
 		# This is needed because we support multiple kde versions installed together.
 		# Lookup in order - local, KDEDIR, /usr, do not duplicate entries btw.
-		local KDEDIRS="/usr/share"
-		[[ ${KDEDIR} != "/usr" ]] && KDEDIRS="${KDEDIR}/share:${KDEDIRS}"
-		XDG_DATA_DIRS="/usr/local/share:${KDEDIRS}" \
+		local KDEDIRS="${ROOT}usr/share"
+		[[ ${KDEDIR} != "${ROOT}usr" ]] && KDEDIRS="${KDEDIR}/share:${KDEDIRS}"
+		XDG_DATA_DIRS="${ROOT}usr/local/share:${KDEDIRS}" \
 			DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
 			${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
 		eend $?
@@ -76,7 +76,7 @@
 
 	# fix permission for some directories
 	for x in share/config share/kde4; do
-		[[ ${KDEDIR} = /usr ]] && DIRS=/usr || DIRS="/usr ${KDEDIR}"
+		[[ ${KDEDIR} = ${ROOT}usr ]] && DIRS=${ROOT}usr || DIRS="${ROOT}usr ${KDEDIR}"
 		for y in ${DIRS}; do
 			[[ -d "${y}/${x}" ]] || break # nothing to do if directory does not exist
 			if [[ $(stat --format=%a "${y}/${x}") != 755 ]]; then
@@ -106,7 +106,7 @@
 # This is a whitespace-separated list of translations this ebuild supports.
 # These translations are automatically added to IUSE. Therefore ebuilds must set
 # this variable before inheriting any eclasses. To enable only selected
-# translations, ebuilds must call enable_selected_linguas(). kde4-base.eclass does
+# translations, ebuilds must call enable_selected_linguas(). kde4-{base,meta}.eclass does
 # this for you.
 #
 # Example: KDE_LINGUAS="en_GB de nl"
@@ -122,6 +122,11 @@
 enable_selected_linguas() {
 	local lingua sr_mess wp
 
+	## This isn't working because it seems portage sets LINGUAS
+	## even if you don't have it in make.conf
+	## Im leaving the command that *should* work if LINGUAS was unset commented
+	# if there is no linguas defined we enable everything
+	# [[ ! ${LINGUAS+set} = set ]] && LINGUAS="*"
 	# ebuild overridable linguas directory definition
 	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:="${S}/po"}
 	cd "${KDE_LINGUAS_DIR}" || die "wrong linguas dir specified"
@@ -147,17 +152,19 @@
 		fi
 	done
 	comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
-	for lingua in ${LINGUAS}; do
-		ebegin "Enabling LANGUAGE: ${lingua}"
-		if [[ -d "${lingua}" ]]; then
-			sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
-				-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
-				-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
-		fi
-		if [[ -e "${lingua}.po.old" ]]; then
-			mv "${lingua}.po.old" "${lingua}.po"
+	for lingua in ${KDE_LINGUAS}; do
+		if use linguas_${lingua} ; then
+			ebegin "Enabling LANGUAGE: ${lingua}"
+			if [[ -d "${lingua}" ]]; then
+				sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
+					-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
+					-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
+			fi
+			if [[ -e "${lingua}.po.old" ]]; then
+				mv "${lingua}.po.old" "${lingua}.po"
+			fi
+			eend $?
 		fi
-		eend $?
 	done
 }
 
@@ -243,7 +250,7 @@
 	local depsfile="${T}/${PN}:${SLOT}"
 
 	ebegin "Installing library dependencies as ${depsfile##*/}"
-	insinto /var/lib/kde
+	insinto ${ROOT}var/lib/kde
 	doins "${depsfile}" || die "Failed to install library dependencies."
 	eend $?
 }
@@ -258,7 +265,7 @@
 	i=0
 	for pn in ${KMLOADLIBS} ; do
 		((i++))
-		depsfile="/var/lib/kde/${pn}:${SLOT}"
+		depsfile="${ROOT}var/lib/kde/${pn}:${SLOT}"
 		[[ -r "${depsfile}" ]] || die "Depsfile '${depsfile}' not accessible. You probably need to reinstall ${pn}."
 		sed -i -e "${i}iINCLUDE(\"${depsfile}\")" "${S}/CMakeLists.txt" || \
 			die "Failed to include library dependencies for ${pn}"



1.20                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.20&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.20&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.19&r2=1.20

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- kde4-meta.eclass	14 May 2009 16:46:53 -0000	1.19
+++ kde4-meta.eclass	28 May 2009 09:47:52 -0000	1.20
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.19 2009/05/14 16:46:53 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.20 2009/05/28 09:47:52 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -155,7 +155,7 @@
 # @DESCRIPTION:
 # All subdirectories listed here will be extracted, compiled & installed.
 # $KMMODULE is always added to $KMEXTRA.
-# If the htmlhandbook USE-flag is set, and if this directory exists,
+# If the doc USE-flag is set, and if this directory exists,
 # then "doc/$KMMODULE" is added to $KMEXTRA. In other cases, this should be
 # handled in the ebuild.
 # If the documentation is in a different subdirectory, you should add it to KMEXTRA.
@@ -404,7 +404,18 @@
 	esac
 	# Don't install cmake modules for split ebuilds, to avoid collisions.
 	case ${KMNAME} in
-		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics|kdepim)
+		kdepim)
+			# No need for unpack since 4.2.86
+			# Remove when 4.2 is wiped out from the tree
+			case ${PV} in
+				4.1*|4.2.0|4.2.1|4.2.2|4.2.3|4.2.4|4.2.85)
+					KMCOMPILEONLY="${KMCOMPILEONLY}
+						cmake/modules/"
+						;;
+				*) ;;
+			esac
+			;;
+		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics)
 			case ${PN} in
 				libkdegames|libkdeedu|libkworkspace)
 					KMEXTRA="${KMEXTRA}
@@ -577,8 +588,9 @@
 			fi
 			# Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82
 			if [[ ${PN} != libkworkspace ]]; then
-				sed -i -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
-					CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip EXPORT section"
+				sed -i \
+					-e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
+					CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT	section"
 			fi
 			;;
 		kdebase-runtime)
@@ -601,9 +613,9 @@
 		kdewebdev)
 			# Disable hardcoded kdepimlibs check
 			sed -e 's/find_package(KdepimLibs REQUIRED)/macro_optional_find_package(KdepimLibs)/' \
-				-e 's/find_package(LibXml2 REQUIRED)/macro_optional_find_package(LibXml2 REQUIRED)/' \
-				-e 's/find_package(LibXslt REQUIRED)/macro_optional_find_package(LibXslt REQUIRED)/' \
-				-e 's/find_package(Boost REQUIRED)/macro_optional_find_package(Boost REQUIRED)/' \
+				-e 's/find_package(LibXml2 REQUIRED)/macro_optional_find_package(LibXml2)/' \
+				-e 's/find_package(LibXslt REQUIRED)/macro_optional_find_package(LibXslt)/' \
+				-e 's/find_package(Boost REQUIRED)/macro_optional_find_package(Boost)/' \
 				-i CMakeLists.txt || die "failed to disable hardcoded checks"
 			;;
 		koffice)






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-06-04  9:29 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-06-04  9:29 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/06/04 09:29:54

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Adjust eclasses to support new handbook useflag, also keep backcompat with old doc handling (will be dropped). Depend on qt4.5 and add variable allowing to override this. Linugas handling update.

Revision  Changes    Path
1.39                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.39&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.39&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.38&r2=1.39

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- kde4-base.eclass	28 May 2009 09:47:52 -0000	1.38
+++ kde4-base.eclass	4 Jun 2009 09:29:54 -0000	1.39
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.38 2009/05/28 09:47:52 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.39 2009/06/04 09:29:54 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -82,9 +82,15 @@
 	esac
 fi
 
+# @ECLASS-VARIABLE: QT_DEPEND
+# @DESCRIPTION:
+# Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1..
+# Currently defaults to 4.5.1
+QT_DEPEND="${QT_DEPEND:-4.5.1}"
+
 # OpenGL dependencies
 qtopengldepend="
-	x11-libs/qt-opengl:4
+	>=x11-libs/qt-opengl-${QT_DEPEND}:4
 "
 case ${OPENGL_REQUIRED} in
 	always)
@@ -102,7 +108,7 @@
 
 # WebKit dependencies
 qtwebkitdepend="
-	x11-libs/qt-webkit:4
+	>=x11-libs/qt-webkit-${QT_DEPEND}:4
 "
 case ${WEBKIT_REQUIRED} in
 	always)
@@ -157,7 +163,6 @@
 
 # Setup packages inheriting this eclass
 case ${KDEBASE} in
-
 	kde-base)
 		if [[ $BUILD_TYPE = live ]]; then
 			# Disable tests for live ebuilds
@@ -191,13 +196,11 @@
 		done
 		unset slot
 		;;
-
 	koffice)
 		SLOT="2"
 		_pv="-${KDE_MINIMAL}"
 		_pvn="${_pv}"
 		;;
-
 	*)
 		_pv="-${KDE_MINIMAL}"
 		_pvn="${_pv}"
@@ -211,13 +214,13 @@
 	x11-libs/libXext
 	x11-libs/libXt
 	x11-libs/libXxf86vm
-	x11-libs/qt-core:4[qt3support,ssl]
-	x11-libs/qt-gui:4[accessibility,dbus]
-	x11-libs/qt-qt3support:4[accessibility]
-	x11-libs/qt-script:4
-	x11-libs/qt-sql:4[qt3support]
-	x11-libs/qt-svg:4
-	x11-libs/qt-test:4
+	>=x11-libs/qt-core-${QT_DEPEND}:4[qt3support,ssl]
+	>=x11-libs/qt-gui-${QT_DEPEND}:4[accessibility,dbus]
+	>=x11-libs/qt-qt3support-${QT_DEPEND}:4[accessibility]
+	>=x11-libs/qt-script-${QT_DEPEND}:4
+	>=x11-libs/qt-sql-${QT_DEPEND}:4[qt3support]
+	>=x11-libs/qt-svg-${QT_DEPEND}:4
+	>=x11-libs/qt-test-${QT_DEPEND}:4
 "
 if [[ ${PN} != kdelibs ]]; then
 	if [[ ${KDEBASE} = kde-base ]]; then
@@ -350,7 +353,7 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.2.85)
+						4.2.85|4.2.90)
 							# block for normally packed unstable releases
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
@@ -611,6 +614,15 @@
 		einfo "Use it at your own risk."
 		einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
 		echo
+	elif [[ ${BUILD_TYPE} != live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && has kdeprefix ${IUSE//+} && use kdeprefix; then
+		# warning about kdeprefix for non-live users
+		echo
+		ewarn "WARNING! You have kdeprefix useflag enabled."
+		ewarn "This setting is strongly discouraged and might lead to potential troubles"
+		ewarn "with KDE update strategies."
+		ewarn "You are using this setup at your own risk and kde team does not"
+		ewarn "take responsibilities for dead kittens."
+		echo
 	fi
 }
 



1.21                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.21&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.21&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.20&r2=1.21

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- kde4-functions.eclass	31 May 2009 09:45:51 -0000	1.20
+++ kde4-functions.eclass	4 Jun 2009 09:29:54 -0000	1.21
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.20 2009/05/31 09:45:51 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.21 2009/06/04 09:29:54 scarabeus Exp $
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:



1.22                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.22&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.22&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.21&r2=1.22

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- kde4-meta.eclass	29 May 2009 10:29:10 -0000	1.21
+++ kde4-meta.eclass	4 Jun 2009 09:29:54 -0000	1.22
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.21 2009/05/29 10:29:10 dagger Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.22 2009/06/04 09:29:54 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -31,16 +31,21 @@
 		;;
 esac
 
-# Add khelpcenter dependency when installing
-if [[ ${PN} != khelpcenter ]] && has doc ${IUSE//+} && use doc; then
+# remove this codeblock when 4.2.3 is dropped
+if [[ ${PV} = "4.2.3" ]]; then
+	[[ ${PN} != khelpcenter ]] && has doc ${IUSE//+} \
+		RDEPEND="${RDEPEND} doc? ( >=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=] )"
+else
+# Add khelpcenter dependency when installing handbooks
+if [[ ${PN} != khelpcenter ]] && has handbook ${IUSE//+}; then
 	RDEPEND="${RDEPEND}
-		>=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=]
+		handbook? ( >=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=] )
 	"
 fi
-
+fi
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
-	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphic)
+	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphics)
 		DEPEND="${DEPEND}
 			>=kde-base/qimageblitz-0.0.4
 		"
@@ -66,7 +71,7 @@
 			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
 		"
 		case ${PN} in
-			akregator|kaddressbook|kjots|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
+			akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker)
 				IUSE="+kontact"
 				RDEPEND="${RDEPEND}
 					kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )
@@ -160,7 +165,7 @@
 # @DESCRIPTION:
 # All subdirectories listed here will be extracted, compiled & installed.
 # $KMMODULE is always added to $KMEXTRA.
-# If the doc USE-flag is set, and if this directory exists,
+# If the handbook USE-flag is set, and if this directory exists,
 # then "doc/$KMMODULE" is added to $KMEXTRA. In other cases, this should be
 # handled in the ebuild.
 # If the documentation is in a different subdirectory, you should add it to KMEXTRA.
@@ -255,7 +260,7 @@
 	else
 		local abort tarball tarfile f extractlist moduleprefix postfix
 		case ${PV} in
-			4.2.85)
+			4.2.85|4.2.90)
 				# block for normally packed upstream unstable snapshots
 				KMTARPARAMS="${KMTARPARAMS} --bzip2" # bz2
 				postfix="bz2"
@@ -339,11 +344,18 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	# TODO change to KMEXTRA for more strict check
-	if has doc ${IUSE//+} && use doc && [[ -n ${KMMODULE} ]]; then
+	# remvove 4.2.3 check when dropped
+	if [[ ${PV} = "4.2.3" ]]; then
+		if has doc ${IUSE//+} && use doc && [[ -n ${KMMODULE} ]]; then
+			KMEXTRA_NONFATAL="${KMEXTRA_NONFATAL} doc/${KMMODULE##*/}"
+		fi
+	else
+	if has handbook ${IUSE//+} && use handbook && [[ -n ${KMMODULE} ]]; then
 		# We use the basename of $KMMODULE because $KMMODULE can contain
 		# the path to the module subdirectory.
 		KMEXTRA_NONFATAL="${KMEXTRA_NONFATAL} doc/${KMMODULE##*/}"
 	fi
+	fi
 
 	# Add some CMake-files to KMEXTRACTONLY.
 	# Note that this actually doesn't include KMEXTRA handling.
@@ -711,10 +723,10 @@
 kde4-meta_pkg_postinst() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if has doc ${IUSE//+} && ! use doc; then
+	if has handbook ${IUSE//+} && ! use handbook; then
 		echo
 		einfo "Application handbook for ${PN} has not been installed."
-		einfo "To install handbook, reemerge =${CATEGORY}/${P} with 'doc' USE flag."
+		einfo "To install handbook, reemerge =${CATEGORY}/${P} with 'handbook' USE flag."
 		echo
 	fi
 






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-08-03 21:59 Alex Alexander (wired)
  0 siblings, 0 replies; 22+ messages in thread
From: Alex Alexander (wired) @ 2009-08-03 21:59 UTC (permalink / raw
  To: gentoo-commits

wired       09/08/03 21:59:53

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  synced kde4 eclasses with new ones from kde-testing overlay

Revision  Changes    Path
1.42                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.42&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.42&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.41&r2=1.42

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- kde4-base.eclass	5 Jun 2009 09:48:46 -0000	1.41
+++ kde4-base.eclass	3 Aug 2009 21:59:53 -0000	1.42
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.41 2009/06/05 09:48:46 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.42 2009/08/03 21:59:53 wired Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -61,11 +61,11 @@
 
 # @ECLASS-VARIABLE: KDE_MINIMAL
 # @DESCRIPTION:
-# This wariable is used when KDE_REQUIRED is set, to specify required KDE minimal
+# This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
 # version for apps to work. Currently defaults to 4.2
 # One may override this variable to raise version requirements.
 # For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
-# Note that for kde-base packages is fixed to ${SLOT}.
+# Note that it is fixed to ${SLOT} for kde-base packages.
 KDE_MINIMAL="${KDE_MINIMAL:-4.2}"
 
 # Fallback behaviour (for now)
@@ -94,13 +94,11 @@
 "
 case ${OPENGL_REQUIRED} in
 	always)
-		COMMONDEPEND="${COMMONDEPEND} ${qtopengldepend}"
+		COMMONDEPEND+=" ${qtopengldepend}"
 		;;
 	optional)
-		IUSE="${IUSE} opengl"
-		COMMONDEPEND="${COMMONDEPEND}
-			opengl? ( ${qtopengldepend} )
-		"
+		IUSE+=" opengl"
+		COMMONDEPEND+=" opengl? ( ${qtopengldepend} )"
 		;;
 	*) ;;
 esac
@@ -112,13 +110,11 @@
 "
 case ${WEBKIT_REQUIRED} in
 	always)
-		COMMONDEPEND="${COMMONDEPEND} ${qtwebkitdepend}"
+		COMMONDEPEND+=" ${qtwebkitdepend}"
 		;;
 	optional)
-		IUSE="${IUSE} webkit"
-		COMMONDEPEND="${COMMONDEPEND}
-			webkit? ( ${qtwebkitdepend} )
-		"
+		IUSE+=" webkit"
+		COMMONDEPEND+=" webkit? ( ${qtwebkitdepend} )"
 		;;
 	*) ;;
 esac
@@ -130,52 +126,32 @@
 "
 case ${CPPUNIT_REQUIRED} in
 	always)
-		DEPEND="${DEPEND} ${cppuintdepend}"
+		DEPEND+=" ${cppuintdepend}"
 		;;
 	optional)
-		IUSE="${IUSE} test"
-		DEPEND="${DEPEND}
-			test? ( ${cppuintdepend} )
-		"
+		IUSE+=" test"
+		DEPEND+=" test? ( ${cppuintdepend} )"
 		;;
 	*) ;;
 esac
 unset cppuintdepend
 
-# DEPRECATED block
-if [[ ${NEED_KDE} != "none" ]]; then
-	# localization deps
-	# DISABLED UNTIL PMS decide correct approach :(
-	if [[ -n ${KDE_LINGUAS} ]]; then
-		LNG_DEP=""
-		for _lng in ${KDE_LINGUAS}; do
-			# there must be or due to issue if lingua is not present in kde-l10n so
-			# it wont die but pick kde-l10n as-is.
-			LNG_DEP="${LNG_DEP}
-				|| (
-					kde-base/kde-l10n[linguas_${_lng},kdeprefix=]
-					kde-base/kde-l10n[kdeprefix=]
-				)
-			"
-		done
-	fi
-fi # NEED_KDE != NONE block
-
 # Setup packages inheriting this eclass
 case ${KDEBASE} in
 	kde-base)
 		if [[ $BUILD_TYPE = live ]]; then
 			# Disable tests for live ebuilds
-			RESTRICT="${RESTRICT} test"
+			RESTRICT+=" test"
 			# Live ebuilds in kde-base default to kdeprefix by default
-			IUSE="${IUSE} +kdeprefix"
+			IUSE+=" +kdeprefix"
 		else
 			# All other ebuild types default to -kdeprefix as before
-			IUSE="${IUSE} kdeprefix"
+			IUSE+=" kdeprefix"
 		fi
 		# Determine SLOT from PVs
 		case ${PV} in
 			*.9999*) SLOT="${PV/.9999*/}" ;; # stable live
+			4.4* | 4.3.9* | 4.3.8* | 4.3.7* | 4.3.6*) SLOT="4.4" ;;
 			4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
 			4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
 			9999*) SLOT="live" ;; # regular live
@@ -186,12 +162,10 @@
 		_pvn="-${PV}"
 
 		# Block installation of other SLOTS unless kdeprefix
-		for slot in ${KDE_SLOTS[@]}; do
+		for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
 			# Block non kdeprefix ${PN} on other slots
 			if [[ ${SLOT} != ${slot} ]]; then
-				RDEPEND="${RDEPEND}
-					!kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )
-				"
+				RDEPEND+=" !kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )"
 			fi
 		done
 		unset slot
@@ -211,9 +185,6 @@
 # KDE dependencies
 kdecommondepend="
 	dev-lang/perl
-	x11-libs/libXext
-	x11-libs/libXt
-	x11-libs/libXxf86vm
 	>=x11-libs/qt-core-${QT_DEPEND}:4[qt3support,ssl]
 	>=x11-libs/qt-gui-${QT_DEPEND}:4[accessibility,dbus]
 	>=x11-libs/qt-qt3support-${QT_DEPEND}:4[accessibility]
@@ -221,15 +192,20 @@
 	>=x11-libs/qt-sql-${QT_DEPEND}:4[qt3support]
 	>=x11-libs/qt-svg-${QT_DEPEND}:4
 	>=x11-libs/qt-test-${QT_DEPEND}:4
+	!aqua? (
+		x11-libs/libXext
+		x11-libs/libXt
+		x11-libs/libXxf86vm
+	)
 "
 if [[ ${PN} != kdelibs ]]; then
 	if [[ ${KDEBASE} = kde-base ]]; then
-		kdecommondepend="${kdecommondepend}
+		kdecommondepend+="
 			kdeprefix? ( >=kde-base/kdelibs${_pv}[kdeprefix] )
 			!kdeprefix? ( >=kde-base/kdelibs${_pvn}[-kdeprefix] )
 		"
 	else
-		kdecommondepend="${kdecommondepend}
+		kdecommondepend+="
 			>=kde-base/kdelibs${_pv}
 		"
 	fi
@@ -237,19 +213,17 @@
 unset _pv _pvn
 kdedepend="
 	dev-util/pkgconfig
-	>=sys-apps/sandbox-1.3.2
 "
 case ${KDE_REQUIRED} in
 	always)
-		COMMONDEPEND="${COMMONDEPEND} ${kdecommondepend}"
-		DEPEND="${DEPEND} ${kdedepend}"
+		IUSE+=" aqua"
+		COMMONDEPEND+=" ${kdecommondepend}"
+		DEPEND+=" ${kdedepend}"
 		;;
 	optional)
-		IUSE="${IUSE} kde"
-		COMMONDEPEND="${COMMONDEPEND}
-			kde? ( ${kdecommondepend} )"
-		DEPEND="${DEPEND}
-			kde? ( ${kdedepend} )"
+		IUSE+=" aqua kde"
+		COMMONDEPEND+=" kde? ( ${kdecommondepend} )"
+		DEPEND+=" kde? ( ${kdedepend} )"
 		;;
 	*) ;;
 esac
@@ -260,8 +234,9 @@
 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
 
 # Accumulate dependencies set by this eclass
-DEPEND="${DEPEND} ${COMMONDEPEND}"
-RDEPEND="${RDEPEND} ${COMMONDEPEND}"
+DEPEND+=" ${COMMONDEPEND}"
+RDEPEND+=" ${COMMONDEPEND}"
+unset COMMONDEPEND
 
 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
 # koffice ebuild, the URI should be set in the ebuild itself
@@ -301,6 +276,9 @@
 				kdebase-*)
 					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
 					;;
+				kdelibs-*)
+					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
+					;;
 				kdereview)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
 					;;
@@ -353,7 +331,12 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.2.85|4.2.90)
+						4.3.85 | 4.3.90 | 4.3.95 | 4.3.96)
+							# block for normally packed unstable releases
+						 	SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
+						4.3.9* | 4.3.8* | 4.3.7* | 4.3.6*)
+							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
+						4.2.85 | 4.2.90 | 4.2.95 | 4.2.96 | 4.2.98)
 							# block for normally packed unstable releases
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
@@ -384,7 +367,7 @@
 # @DESCRIPTION:
 # Set the installation PREFIX for non kde-base applications. It defaults to /usr.
 # kde-base packages go into KDE4 installation directory (KDEDIR) by default.
-# No matter the PREFIX, package will be built agains KDE installed in KDEDIR.
+# No matter the PREFIX, package will be built against KDE installed in KDEDIR.
 
 # @FUNCTION: kde4-base_pkg_setup
 # @DESCRIPTION:
@@ -405,9 +388,9 @@
 
 	if [[ ${KDEBASE} = kde-base ]]; then
 		if use kdeprefix; then
-			KDEDIR="${ROOT}usr/kde/${_kdedir}"
+			KDEDIR="${EROOT}usr/kde/${_kdedir}"
 		else
-			KDEDIR="${ROOT}usr"
+			KDEDIR="${EROOT}usr"
 		fi
 		PREFIX="${PREFIX:-${KDEDIR}}"
 	else
@@ -418,9 +401,9 @@
 			[[ -z ${kde_minimal_met} ]] && [[ ${slot} = ${KDE_MINIMAL} ]] && kde_minimal_met=1
 			if [[ -n ${kde_minimal_met} ]] && has_version "kde-base/kdelibs:${slot}"; then
 				if has_version "kde-base/kdelibs:${slot}[kdeprefix]"; then
-					KDEDIR="${ROOT}usr/kde/${slot}"
+					KDEDIR="${EROOT}usr/kde/${slot}"
 				else
-					KDEDIR="${ROOT}usr"
+					KDEDIR="${EROOT}usr"
 				fi
 				break;
 			fi
@@ -431,11 +414,15 @@
 		if [[ ${KDE_REQUIRED} = always ]] || { [[ ${KDE_REQUIRED} = optional ]] && use kde; }; then
 			[[ -z ${KDEDIR} ]] && die "Failed to determine KDEDIR!"
 		else
-			[[ -z ${KDEDIR} ]] && KDEDIR="${ROOT}usr"
+			[[ -z ${KDEDIR} ]] && KDEDIR="${EROOT}usr"
 		fi
 
-		PREFIX="${PREFIX:-${ROOT}usr}"
+		PREFIX="${PREFIX:-${EROOT}usr}"
 	fi
+	# Point pkg-config path to KDE *.pc files
+	export PKG_CONFIG_PATH="${KDEDIR}/$(get_libdir)/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
+	# Point to correct QT plugins path
+	QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
 
 	# Not needed anymore
 	unset _kdedir
@@ -459,7 +446,8 @@
 # @DESCRIPTION:
 # General pre-configure and pre-compile function for KDE4 applications.
 # It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
-# enable_selected_linguas() in kde4-functions.eclass(5) for further details.
+# enable_selected_linguas() and enable_selected_doc_linguas()
+# in kde4-functions.eclass(5) for further details.
 kde4-base_src_prepare() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -468,6 +456,12 @@
 		enable_selected_linguas
 	fi
 
+	# Enable/disable handbooks for kde4-base packages
+	# kde-l10n inherits kde-base but is metpackage, so no check for doc
+	if ! has kde4-meta ${INHERITED}; then
+		has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && enable_selected_doc_linguas
+	fi
+
 	[[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
 	base_src_prepare
 
@@ -502,38 +496,34 @@
 	fi
 
 	# Set distribution name
-	[[ ${PN} = kdelibs ]] && cmakeargs="${cmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
+	[[ ${PN} = kdelibs ]] && cmakeargs+=" -DKDE_DISTRIBUTION_TEXT=Gentoo"
 
 	# Here we set the install prefix
-	cmakeargs="${cmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
+	cmakeargs+=" -DCMAKE_INSTALL_PREFIX=${PREFIX}"
 
-	# Set environment
+	# Use colors
 	QTEST_COLORED=1
-	QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
-
-	# Point pkg-config path to KDE *.pc files
-	export PKG_CONFIG_PATH="${KDEDIR}/$(get_libdir)/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
 
 	# Shadow existing /usr installations
 	unset KDEDIRS
 
-	if [[ ${KDEDIR} != "${ROOT}usr" ]]; then
+	if [[ ${KDEDIR} != "${EROOT}usr" ]]; then
 		# Override some environment variables - only when kdeprefix is different,
 		# to not break ccache/distcc
 		PATH="${KDEDIR}/bin:${PATH}"
 		LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
 
 		# Append full RPATH
-		cmakeargs="${cmakeargs} -DCMAKE_SKIP_RPATH=OFF"
+		cmakeargs+=" -DCMAKE_SKIP_RPATH=OFF"
 	fi
 
 	if has kdeprefix ${IUSE//+} && use kdeprefix; then
 		# Set cmake prefixes to allow buildsystem to localize valid KDE installation
 		# when more are present
-		cmakeargs="${cmakeargs} -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}"
+		cmakeargs+=" -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}"
 	else
 		# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
-		cmakeargs="${cmakeargs} -DSYSCONF_INSTALL_DIR=${ROOT}etc"
+		cmakeargs+=" -DSYSCONF_INSTALL_DIR=${EROOT}etc"
 	fi
 
 	mycmakeargs="${cmakeargs} ${mycmakeargs}"
@@ -547,7 +537,7 @@
 kde4-base_src_compile() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	cmake-utils_src_compile
+	cmake-utils_src_compile "$@"
 }
 
 # @FUNCTION: kde4-base_src_test
@@ -557,7 +547,7 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	# Override this value, set in kde4-base_src_configure()
-	mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=ON"
+	mycmakeargs+=" -DKDE4_BUILD_TESTS=ON"
 	cmake-utils_src_configure
 	kde4-base_src_compile
 
@@ -599,10 +589,10 @@
 		done
 	fi
 
-	if [[ -n ${KDEBASE} ]] && [[ -d "${D}${ROOT}usr/share/doc/${PF}" ]]; then
+	if [[ -n ${KDEBASE} ]] && [[ -d "${D}${EROOT}usr/share/doc/${PF}" ]]; then
 		# work around bug #97196
 		dodir /usr/share/doc/KDE4 && \
-			mv "${D}${ROOT}usr/share/doc/${PF}" "${D}${ROOT}usr/share/doc/KDE4/" || \
+			mv "${D}${EROOT}usr/share/doc/${PF}" "${D}${EROOT}usr/share/doc/KDE4/" || \
 			die "Failed to move docs to KDE4/."
 	fi
 }
@@ -617,17 +607,17 @@
 
 	if [[ ${BUILD_TYPE} = live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
 		echo
-		einfo "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
+		einfo "WARNING! This is an experimental live ebuild of ${CATEGORY}/${PN}"
 		einfo "Use it at your own risk."
 		einfo "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
 		echo
 	elif [[ ${BUILD_TYPE} != live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && has kdeprefix ${IUSE//+} && use kdeprefix; then
 		# warning about kdeprefix for non-live users
 		echo
-		ewarn "WARNING! You have kdeprefix useflag enabled."
-		ewarn "This setting is strongly discouraged and might lead to potential troubles"
+		ewarn "WARNING! You have the kdeprefix useflag enabled."
+		ewarn "This setting is strongly discouraged and might lead to potential trouble"
 		ewarn "with KDE update strategies."
-		ewarn "You are using this setup at your own risk and kde team does not"
+		ewarn "You are using this setup at your own risk and the kde team does not"
 		ewarn "take responsibilities for dead kittens."
 		echo
 	fi



1.22                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.22&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.22&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.21&r2=1.22

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- kde4-functions.eclass	4 Jun 2009 09:29:54 -0000	1.21
+++ kde4-functions.eclass	3 Aug 2009 21:59:53 -0000	1.22
@@ -1,6 +1,9 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.21 2009/06/04 09:29:54 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.22 2009/08/03 21:59:53 wired Exp $
+
+# Prefix compat:
+: ${EROOT:=${ROOT}}
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -12,7 +15,7 @@
 
 # @ECLASS-VARIABLE: EAPI
 # @DESCRIPTION:
-# By default kde4 eclasses wants eapi 2 which might be redefinable to newer
+# By default kde4 eclasses want EAPI 2 which might be redefinable to newer
 # versions.
 case ${EAPI:-0} in
 	2) : ;;
@@ -39,7 +42,7 @@
 # @DESCRIPTION:
 # The slots used by all KDE versions later than 4.0. The live KDE releases use
 # KDE_LIVE_SLOTS instead. Values should be ordered.
-KDE_SLOTS=( "kde-4" "4.1" "4.2" "4.3" )
+KDE_SLOTS=( "kde-4" "4.1" "4.2" "4.3" "4.4" )
 
 # @ECLASS-VARIABLE: KDE_LIVE_SLOTS
 # @DESCRIPTION:
@@ -53,7 +56,21 @@
 buildsycoca() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if [[ -z ${ROOT%%/} && -x ${KDEDIR}/bin/kbuildsycoca4 ]]; then
+	local KDE3DIR="${EROOT}usr/kde/3.5"
+	if [[ -z ${EROOT%%/} && -x "${KDE3DIR}"/bin/kbuildsycoca ]]; then
+		# Since KDE3 is aware of shortcuts in /usr, rebuild database
+		# for KDE3 as well.
+		touch "${KDE3DIR}"/share/services/ksycoca
+		chmod 644 "${KDE3DIR}"/share/services/ksycoca
+
+		ebegin "Running kbuildsycoca to build global database"
+		XDG_DATA_DIRS="${EROOT}usr/local/share:${KDE3DIR}/share:${EROOT}usr/share" \
+			DISPLAY="" \
+			"${KDE3DIR}"/bin/kbuildsycoca --global --noincremental &> /dev/null
+		eend $?
+	fi
+
+	if [[ -z ${EROOT%%/} && -x "${KDEDIR}"/bin/kbuildsycoca4 ]]; then
 		# Make sure tha cache file exists, writable by root and readable by
 		# others. Otherwise kbuildsycoca4 will fail.
 		touch "${KDEDIR}/share/kde4/services/ksycoca4"
@@ -66,17 +83,17 @@
 		ebegin "Running kbuildsycoca4 to build global database"
 		# This is needed because we support multiple kde versions installed together.
 		# Lookup in order - local, KDEDIR, /usr, do not duplicate entries btw.
-		local KDEDIRS="${ROOT}usr/share"
-		[[ ${KDEDIR} != "${ROOT}usr" ]] && KDEDIRS="${KDEDIR}/share:${KDEDIRS}"
-		XDG_DATA_DIRS="${ROOT}usr/local/share:${KDEDIRS}" \
+		local KDEDIRS="${EROOT}usr/share"
+		[[ ${KDEDIR} != "${EROOT}usr" ]] && KDEDIRS="${KDEDIR}/share:${KDEDIRS}"
+		XDG_DATA_DIRS="${EROOT}usr/local/share:${KDEDIRS}" \
 			DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
-			${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
+			"${KDEDIR}"/bin/kbuildsycoca4 --global --noincremental &> /dev/null
 		eend $?
 	fi
 
 	# fix permission for some directories
-	for x in share/config share/kde4; do
-		[[ ${KDEDIR} = ${ROOT}usr ]] && DIRS=${ROOT}usr || DIRS="${ROOT}usr ${KDEDIR}"
+	for x in share/{config,kde4}; do
+		[[ ${KDEDIR} = ${EROOT}usr ]] && DIRS=${EROOT}usr || DIRS="${EROOT}usr ${KDEDIR}"
 		for y in ${DIRS}; do
 			[[ -d "${y}/${x}" ]] || break # nothing to do if directory does not exist
 			if [[ $(stat --format=%a "${y}/${x}") != 755 ]]; then
@@ -97,8 +114,12 @@
 # except those in cmake/.
 comment_all_add_subdirectory() {
 	find "$@" -name CMakeLists.txt -print0 | grep -vFzZ "./cmake" | \
-		xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' -e '/ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' || \
-		die "${LINENO}: Initial sed died"
+		xargs -0 sed -i \
+			-e '/^[[:space:]]*add_subdirectory/s/^/#DONOTCOMPILE /' \
+			-e '/^[[:space:]]*ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' \
+			-e '/^[[:space:]]*macro_optional_add_subdirectory/s/^/#DONOTCOMPILE /' \
+			-e '/^[[:space:]]*MACRO_OPTIONAL_ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' \
+			|| die "${LINENO}: Initial sed died"
 }
 
 # @ECLASS-VARIABLE: KDE_LINGUAS
@@ -120,19 +141,22 @@
 # the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po
 # but this default can be overridden by defining KDE_LINGUAS_DIR.
 enable_selected_linguas() {
-	local lingua sr_mess wp
+	debug-print-function ${FUNCNAME} "$@"
+
+	local lingua linguas sr_mess wp
 
-	## This isn't working because it seems portage sets LINGUAS
-	## even if you don't have it in make.conf
-	## Im leaving the command that *should* work if LINGUAS was unset commented
 	# if there is no linguas defined we enable everything
 	if ! $(env | grep -q "^LINGUAS="); then
 		return 0
 	fi
-	# [[ ! ${LINGUAS+set} = set ]] && LINGUAS="*"
-	# ebuild overridable linguas directory definition
-	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:="${S}/po"}
-	cd "${KDE_LINGUAS_DIR}" || die "wrong linguas dir specified"
+
+	# @ECLASS-VARIABLE: KDE_LINGUAS_DIR
+	# @DESCRIPTION:
+	# Specified folder where application translations are located.
+	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:="po"}
+	[[ -d  "${KDE_LINGUAS_DIR}" ]] || die "wrong linguas dir specified"
+	comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
+	pushd "${KDE_LINGUAS_DIR}" > /dev/null
 
 	# fix all various crazy sr@Latn variations
 	# this part is only ease for ebuilds, so there wont be any die when this
@@ -154,21 +178,74 @@
 			mv "${lingua}.po" "${lingua}.po.old"
 		fi
 	done
-	comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
+
 	for lingua in ${KDE_LINGUAS}; do
 		if use linguas_${lingua} ; then
-			ebegin "Enabling LANGUAGE: ${lingua}"
 			if [[ -d "${lingua}" ]]; then
+				linguas="${linguas} ${lingua}"
 				sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 					-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
 					-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
 			fi
 			if [[ -e "${lingua}.po.old" ]]; then
+				linguas="${linguas} ${lingua}"
 				mv "${lingua}.po.old" "${lingua}.po"
 			fi
-			eend $?
 		fi
 	done
+	[[ -n "${linguas}" ]] && einfo "Enabling languages: ${linguas}"
+
+	popd > /dev/null
+}
+
+# @FUNCTION: enable_selected_doc_linguas
+# @DESCRIPTION:
+# Enable only selected linguas enabled doc folders.
+enable_selected_doc_linguas() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	# if there is no linguas defined we enable everything
+	if ! $(env | grep -q "^LINGUAS="); then
+		return 0
+	fi
+
+	# @ECLASS-VARIABLE: KDE_DOC_DIRS
+	# @DESCRIPTION:
+	# Variable specifying whitespace separated patterns for documentation locations.
+	# Default is "doc/%lingua"
+	KDE_DOC_DIRS=${KDE_DOC_DIRS:='doc/%lingua'}
+	local linguas
+	for pattern in ${KDE_DOC_DIRS}; do
+
+		local handbookdir=`dirname ${pattern}`
+		local translationdir=`basename ${pattern}`
+		# Do filename pattern supplied, treat as directory
+		[[ "${handbookdir}" = '.' ]] && handbookdir=${translationdir} && translationdir=
+		[[ -d "${handbookdir}" ]] || die 'wrong doc dir specified'
+
+		if ! use handbook; then
+			# Disable whole directory
+			sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${handbookdir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \
+				-e "/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${handbookdir}[[:space:]]*)/s/^/#DONOTCOMPILE /" \
+				-i CMakeLists.txt || die 'failed to comment out all handbooks'
+		else
+			# Disable subdirectories recursively
+			comment_all_add_subdirectory "${handbookdir}"
+			# Add requested translations
+			local lingua
+			for lingua in en ${KDE_LINGUAS}; do
+				if [[ ${lingua} = 'en' ]] || use linguas_${lingua}; then
+					if [[ -d "${handbookdir}/${translationdir//%lingua/${lingua}}" ]]; then
+						sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${translationdir//%lingua/${lingua}}/s/^#DONOTCOMPILE //" \
+							-e "/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${translationdir//%lingua/${lingua}}/s/^#DONOTCOMPILE //" \
+							-i "${handbookdir}"/CMakeLists.txt && ! has ${lingua} ${linguas} && linguas="${linguas} ${lingua}"
+					fi
+				fi
+			done
+		fi
+
+	done
+	[[ -n "${linguas}" ]] && einfo "Enabling handbook translations:${linguas}"
 }
 
 # @FUNCTION: get_build_type
@@ -253,7 +330,7 @@
 	local depsfile="${T}/${PN}:${SLOT}"
 
 	ebegin "Installing library dependencies as ${depsfile##*/}"
-	insinto ${ROOT}var/lib/kde
+	insinto ${EROOT}var/lib/kde
 	doins "${depsfile}" || die "Failed to install library dependencies."
 	eend $?
 }
@@ -268,7 +345,7 @@
 	i=0
 	for pn in ${KMLOADLIBS} ; do
 		((i++))
-		depsfile="${ROOT}var/lib/kde/${pn}:${SLOT}"
+		depsfile="${EROOT}var/lib/kde/${pn}:${SLOT}"
 		[[ -r "${depsfile}" ]] || die "Depsfile '${depsfile}' not accessible. You probably need to reinstall ${pn}."
 		sed -i -e "${i}iINCLUDE(\"${depsfile}\")" "${S}/CMakeLists.txt" || \
 			die "Failed to include library dependencies for ${pn}"



1.23                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.23&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.23&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.22&r2=1.23

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- kde4-meta.eclass	4 Jun 2009 09:29:54 -0000	1.22
+++ kde4-meta.eclass	3 Aug 2009 21:59:53 -0000	1.23
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.22 2009/06/04 09:29:54 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.23 2009/08/03 21:59:53 wired Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -31,96 +31,64 @@
 		;;
 esac
 
-# remove this codeblock when 4.2.3 is dropped
-if [[ ${PV} = "4.2.3" ]]; then
-	[[ ${PN} != khelpcenter ]] && has doc ${IUSE//+} \
-		RDEPEND="${RDEPEND} doc? ( >=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=] )"
-else
 # Add khelpcenter dependency when installing handbooks
 if [[ ${PN} != khelpcenter ]] && has handbook ${IUSE//+}; then
-	RDEPEND="${RDEPEND}
-		handbook? ( >=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=] )
-	"
-fi
+	RDEPEND+=" handbook? ( >=kde-base/khelpcenter-${PV}:${SLOT}[kdeprefix=] )"
 fi
+
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
 	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphics)
-		DEPEND="${DEPEND}
-			>=kde-base/qimageblitz-0.0.4
-		"
-		RDEPEND="${RDEPEND}
-			>=kde-base/qimageblitz-0.0.4
-		"
+		COMMONDEPEND+=" >=kde-base/qimageblitz-0.0.4"
 		;;
 	kdenetwork)
-		DEPEND="${DEPEND}
-			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
-		"
-		RDEPEND="${RDEPEND}
-			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
-		"
+		COMMONDEPEND+=" >=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]"
 		;;
-	kdepim)
-		DEPEND="${DEPEND}
-			dev-libs/boost
-			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
-		"
-		RDEPEND="${RDEPEND}
+	kdepim|kdepim-runtime)
+		COMMONDEPEND+="
 			dev-libs/boost
 			>=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
 		"
 		case ${PN} in
 			akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker)
-				IUSE="+kontact"
-				RDEPEND="${RDEPEND}
-					kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )
-				"
+				IUSE+=" +kontact"
+				RDEPEND+=" kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
 				;;
 		esac
 		;;
 	kdegames)
 		if [[ ${PN} != libkdegames ]]; then
-			DEPEND="${DEPEND}
-				>=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]
-			"
-			RDEPEND="${RDEPEND}
-				>=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]
-			"
+			COMMONDEPEND+=" >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=] "
 		fi
 		;;
 	koffice)
-		[[ ${PN} != koffice-data ]] && IUSE="debug"
-		RDEPEND="${RDEPEND}
+		[[ ${PN} != koffice-data ]] && IUSE+=" debug"
+		RDEPEND+="
 			!app-office/${PN}:0
 			!app-office/koffice:0
 			!app-office/koffice-meta:0
 		"
 		if has openexr ${IUSE//+}; then
-			COMMON_DEPEND="media-gfx/imagemagick[openexr?]"
+			COMMONDEPEND+=" media-gfx/imagemagick[openexr?]"
 		else
-			COMMON_DEPEND="media-gfx/imagemagick"
+			COMMONDEPEND+=" media-gfx/imagemagick"
 		fi
 
-		COMMON_DEPEND="${COMMON_DEPEND}
+		COMMONDEPEND+="
 			dev-cpp/eigen:2
 			media-libs/fontconfig
 			media-libs/freetype:2
 		"
-		DEPEND="${DEPEND} ${COMMON_DEPEND}"
-		RDEPEND="${RDEPEND} ${COMMON_DEPEND}"
-		unset COMMON_DEPEND
 		if [[ ${PN} != koffice-libs && ${PN} != koffice-data ]]; then
-			DEPEND="${DEPEND}
-				>=app-office/koffice-libs-${PV}:${SLOT}
-			"
-			RDEPEND="${RDEPEND}
-				>=app-office/koffice-libs-${PV}:${SLOT}
-			"
+			COMMONDEPEND+=" >=app-office/koffice-libs-${PV}:${SLOT}"
 		fi
 		;;
 esac
 
+DEPEND+=" ${COMMONDEPEND}"
+RDEPEND+=" ${COMMONDEPEND}"
+unset COMMONDEPEND
+
 debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after metapackage-specific dependencies"
 debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after metapackage-specific dependencies"
 
@@ -260,27 +228,27 @@
 	else
 		local abort tarball tarfile f extractlist moduleprefix postfix
 		case ${PV} in
-			4.2.85|4.2.90)
+			4.3.85 | 4.3.90 | 4.3.95 | 4.3.96 | 4.3.98 | 4.2.85 | 4.2.90 | 4.2.95 | 4.2.96 | 4.2.98)
 				# block for normally packed upstream unstable snapshots
-				KMTARPARAMS="${KMTARPARAMS} --bzip2" # bz2
+				KMTARPARAMS+=" --bzip2" # bz2
 				postfix="bz2"
 				;;
-			4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
-				KMTARPARAMS="${KMTARPARAMS} --lzma" # lzma
+			4.2.9* | 4.2.8* | 4.2.7* | 4.2.6* | 4.3.9* | 4.3.8* | 4.3.7* | 4.3.6*)
+				KMTARPARAMS+=" --lzma" # lzma
 				postfix="lzma"
 				;;
 			*)
-				KMTARPARAMS="${KMTARPARAMS} --bzip2" # bz2
+				KMTARPARAMS+=" --bzip2" # bz2
 				postfix="bz2"
 				;;
 		esac
 		case ${KMNAME} in
 			kdebase-apps)
-				# kdebase/apps -> kdebasa-apps
+				# kdebase/apps -> kdebase-apps
 				tarball="kdebase-${PV}.tar.${postfix}"
 				# Go one level deeper for kdebase-apps in tarballs
 				moduleprefix=apps/
-				KMTARPARAMS="${KMTARPARAMS} --transform=s|apps/||"
+				KMTARPARAMS+=" --transform=s|apps/||"
 				;;
 			*)
 				# Create tarball name from module name (this is the default)
@@ -288,7 +256,7 @@
 				;;
 		esac
 
-		# Full patch to source tarball
+		# Full path to source tarball
 		tarfile="${DISTDIR}/${tarball}"
 
 		# Detect real toplevel dir from tarball name - it will be used upon extraction
@@ -302,9 +270,9 @@
 		for f in cmake/ CMakeLists.txt ConfigureChecks.cmake config.h.cmake \
 			AUTHORS COPYING INSTALL README NEWS ChangeLog
 		do
-			extractlist="${extractlist} ${topdir}${moduleprefix}${f}"
+			extractlist+=" ${topdir}${moduleprefix}${f}"
 		done
-		extractlist="${extractlist} $(__list_needed_subdirectories)"
+		extractlist+=" $(__list_needed_subdirectories)"
 
 		pushd "${WORKDIR}" > /dev/null
 		[[ -n ${KDE4_STRICTER} ]] && echo tar -xpf "${tarfile}" ${KMTARPARAMS} ${extractlist} >&2
@@ -344,17 +312,11 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	# TODO change to KMEXTRA for more strict check
-	# remvove 4.2.3 check when dropped
-	if [[ ${PV} = "4.2.3" ]]; then
-		if has doc ${IUSE//+} && use doc && [[ -n ${KMMODULE} ]]; then
-			KMEXTRA_NONFATAL="${KMEXTRA_NONFATAL} doc/${KMMODULE##*/}"
-		fi
-	else
 	if has handbook ${IUSE//+} && use handbook && [[ -n ${KMMODULE} ]]; then
 		# We use the basename of $KMMODULE because $KMMODULE can contain
 		# the path to the module subdirectory.
-		KMEXTRA_NONFATAL="${KMEXTRA_NONFATAL} doc/${KMMODULE##*/}"
-	fi
+		KMEXTRA_NONFATAL+="
+			doc/${KMMODULE##*/}"
 	fi
 
 	# Add some CMake-files to KMEXTRACTONLY.
@@ -362,21 +324,21 @@
 	# In those cases you should care to add the relevant files to KMEXTRACTONLY
 	case ${KMNAME} in
 		kdebase)
-			KMEXTRACTONLY="${KMEXTRACTONLY}
+			KMEXTRACTONLY+="
 				apps/config-apps.h.cmake
 				apps/ConfigureChecks.cmake"
 			;;
 		kdebase-apps)
-			KMEXTRACTONLY="${KMEXTRACTONLY}
+			KMEXTRACTONLY+="
 				config-apps.h.cmake
 				ConfigureChecks.cmake"
 			;;
 		kdebase-runtime)
-			KMEXTRACTONLY="${KMEXTRACTONLY}
+			KMEXTRACTONLY+="
 				config-runtime.h.cmake"
 			;;
 		kdebase-workspace)
-			KMEXTRACTONLY="${KMEXTRACTONLY}
+			KMEXTRACTONLY+="
 				config-unix.h.cmake
 				ConfigureChecks.cmake
 				config-workspace.h.cmake
@@ -386,37 +348,53 @@
 			;;
 		kdegames)
 			if [[ ${PN} != libkdegames ]]; then
-				KMEXTRACTONLY="${KMEXTRACTONLY}
-					libkdegames"
+				KMEXTRACTONLY+="
+					libkdegames/"
 			fi
 			;;
 		kdepim)
 			if [[ ${PN} != libkdepim ]]; then
-				KMEXTRACTONLY="${KMEXTRACTONLY}
-					libkdepim"
+				KMEXTRACTONLY+="
+					libkdepim/"
 			fi
 			case ${SLOT} in
-				4.3|live)
-					KMEXTRACTONLY="${KMEXTRACTONLY}
-							kdepim-version.h
-							config-enterprise.h.cmake"
+				4.3|4.4|live)
+					KMEXTRACTONLY+="
+						kdepim-version.h
+						config-enterprise.h.cmake"
 					;;
 			esac
-			KMEXTRACTONLY="${KMEXTRACTONLY}
+			KMEXTRACTONLY+="
 				kleopatra/ConfigureChecks.cmake"
 			if has kontact ${IUSE//+} && use kontact; then
-				KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
-				KMEXTRACTONLY="${KMEXTRACTONLY} kontactinterfaces/"
+				KMEXTRA+="
+					kontact/plugins/${PLUGINNAME:-${PN}}/"
+				KMEXTRACTONLY+="
+					kontactinterfaces/"
 			fi
 			;;
+		kdeutils)
+			case ${SLOT} in
+				4.3|4.4|live)
+					KMEXTRACTONLY+="
+						kdeutils-version.h"
+					;;
+			esac
+			;;
 		koffice)
-			KMEXTRACTONLY="${KMEXTRACTONLY}
+			KMEXTRACTONLY+="
 				config-endian.h.cmake
 				filters/config-filters.h.cmake
-				config-openctl.h.cmake
 				config-openexr.h.cmake
 				config-opengl.h.cmake
-				config-prefix.h.cmake"
+				config-prefix.h.cmake
+			"
+			case ${PV} in
+				2.0.*)
+					KMEXTRACTONLY+="
+						config-openctl.h.cmake"
+				;;
+			esac
 			;;
 	esac
 	# Don't install cmake modules for split ebuilds, to avoid collisions.
@@ -426,20 +404,20 @@
 			# Remove when 4.2 is wiped out from the tree
 			case ${PV} in
 				4.1*|4.2.0|4.2.1|4.2.2|4.2.3|4.2.4|4.2.85)
-					KMCOMPILEONLY="${KMCOMPILEONLY}
+					KMCOMPILEONLY+="
 						cmake/modules/"
-						;;
+					;;
 				*) ;;
 			esac
 			;;
 		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics)
 			case ${PN} in
 				libkdegames|libkdeedu|libkworkspace)
-					KMEXTRA="${KMEXTRA}
+					KMEXTRA+="
 						cmake/modules/"
 					;;
 				*)
-					KMCOMPILEONLY="${KMCOMPILEONLY}
+					KMCOMPILEONLY+="
 						cmake/modules/"
 					;;
 			esac
@@ -454,12 +432,12 @@
 
 	# We expand KMEXTRA by adding CMakeLists.txt files
 	kmextra="${KMEXTRA}"
-	[[ ${1} != fatal ]] && kmextra="${kmextra} ${KMEXTRA_NONFATAL}"
+	[[ ${1} != fatal ]] && kmextra+=" ${KMEXTRA_NONFATAL}"
 	for i in ${kmextra}; do
-		kmextra_expanded="${kmextra_expanded} ${i}"
+		kmextra_expanded+=" ${i}"
 		j=$(dirname ${i})
 		while [[ ${j} != "." ]]; do
-			kmextra_expanded="${kmextra_expanded} ${j}/CMakeLists.txt";
+			kmextra_expanded+=" ${j}/CMakeLists.txt";
 			j=$(dirname ${j})
 		done
 	done
@@ -469,17 +447,17 @@
 		kmmodule_expanded="${KMMODULE}"
 		j=$(dirname ${KMMODULE})
 		while [[ ${j} != "." ]]; do
-			kmmodule_expanded="${kmmodule_expanded} ${j}/CMakeLists.txt";
+			kmmodule_expanded+=" ${j}/CMakeLists.txt";
 			j=$(dirname ${j})
 		done
 	fi
 
 	# Expand KMCOMPILEONLY
 	for i in ${KMCOMPILEONLY}; do
-		kmcompileonly_expanded="${kmcompileonly_expanded} ${i}"
+		kmcompileonly_expanded+=" ${i}"
 		j=$(dirname ${i})
 		while [[ ${j} != "." ]]; do
-			kmcompileonly_expanded="${kmcompileonly_expanded} ${j}/CMakeLists.txt";
+			kmcompileonly_expanded+=" ${j}/CMakeLists.txt";
 			j=$(dirname ${j})
 		done
 	done
@@ -493,7 +471,7 @@
 	for i in ${kmmodule_expanded} ${kmextra_expanded} ${kmcompileonly_expanded} \
 		${KMEXTRACTONLY}
 	do
-		extractlist="${extractlist} ${topdir}${moduleprefix}${i}"
+		extractlist+=" ${topdir}${moduleprefix}${i}"
 	done
 
 	echo ${extractlist}
@@ -607,7 +585,7 @@
 			if [[ ${PN} != libkworkspace ]]; then
 				sed -i \
 					-e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
-					CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT	section"
+					CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section"
 			fi
 			;;
 		kdebase-runtime)
@@ -641,9 +619,18 @@
 				sed -i -e '/install(.*FindKOfficeLibs.cmake/,/)/ d' \
 					"${S}"/cmake/modules/CMakeLists.txt || \
 					die "${LINENO}: sed died in collision prevention section"
-				sed -i -n -e '1h;1!H;${g;s/install(.\+config-openexr.h.\+)//;p}' \
-					"${S}"/CMakeLists.txt || \
-					die "${LINENO}: sed died in collision prevention section"
+				case ${PV} in
+					2.0.*)
+						sed -i -n -e '1h;1!H;${g;s/install(.\+config-openexr.h.\+)//;p}' \
+							"${S}"/CMakeLists.txt || \
+							die "${LINENO}: sed died in collision prevention section"
+						;;
+					*)
+						sed -i -e '/install(.\+config-openexr\.h.\+)/d' \
+							"${S}"//CMakeLists.txt || \
+							die "${LINENO}: sed died in collision prevention section"
+						;;
+				esac
 			fi
 	esac
 
@@ -680,7 +667,7 @@
 kde4-meta_src_compile() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	kde4-base_src_compile
+	kde4-base_src_compile "$@"
 }
 
 # @FUNCTION: kde4-meta_src_test
@@ -705,7 +692,7 @@
 # @FUNCTION: kde4-meta_src_make_doc
 # @DESCRIPTION:
 # This function searches in ${S}/${KMMODULE},
-# and tries to install "AUTHORS ChangeLog* README* NEWS todo" if these files exist.
+# and tries to install "AUTHORS ChangeLog* README* NEWS TODO" if these files exist.
 kde4-meta_src_make_doc() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -726,7 +713,7 @@
 	if has handbook ${IUSE//+} && ! use handbook; then
 		echo
 		einfo "Application handbook for ${PN} has not been installed."
-		einfo "To install handbook, reemerge =${CATEGORY}/${P} with 'handbook' USE flag."
+		einfo "To install handbook, reemerge =${CATEGORY}/${PF} with 'handbook' USE flag."
 		echo
 	fi
 






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-08-20  9:18 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-08-20  9:18 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/08/20 09:18:01

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Sync eclasses with kde-testing ones.

Revision  Changes    Path
1.44                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.44&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.44&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.43&r2=1.44

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- kde4-base.eclass	7 Aug 2009 01:00:11 -0000	1.43
+++ kde4-base.eclass	20 Aug 2009 09:18:01 -0000	1.44
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.43 2009/08/07 01:00:11 wired Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.44 2009/08/20 09:18:01 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -13,14 +13,29 @@
 # NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
 # eclass will fail with version older than 2.
 
-inherit base cmake-utils eutils kde4-functions
+# @ECLASS-VARIABLE: WANT_CMAKE
+# @DESCRIPTION:
+# Specify if cmake-utils eclass is required. Defaults to true. Please note that
+# if the variable is set otherwise src_configure/compile/install calls in ebuild
+# must be overrided (can't use the eclass ones).
+WANT_CMAKE="${WANT_CMAKE:-true}"
+if [[ ${WANT_CMAKE} = true ]]; then
+	exports="src_configure src_compile src_test src_install"
+	cmake_eclass="cmake-utils"
+else
+	exports=""
+	cmake_eclass=""
+fi
+
+inherit base ${cmake_eclass} eutils kde4-functions
 
 get_build_type
 if [[ ${BUILD_TYPE} = live ]]; then
 	inherit subversion
 fi
 
-EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
+
+EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${exports} pkg_postinst pkg_postrm
 
 case ${KDEBASE} in
 	kde-base)
@@ -116,9 +131,19 @@
 unset qtopengldepend
 
 # WebKit dependencies
+case ${KDE_REQUIRED} in
+	always)
+		qtwebkitusedeps="[kde]"
+		;;
+	optional)
+		qtwebkitusedeps="[kde?]"
+		;;
+	*) ;;
+esac
 qtwebkitdepend="
-	>=x11-libs/qt-webkit-${QT_DEPEND}:4
+	>=x11-libs/qt-webkit-${QT_DEPEND}:4${qtwebkitusedeps}
 "
+unset qtwebkitusedeps
 case ${WEBKIT_REQUIRED} in
 	always)
 		COMMONDEPEND+=" ${qtwebkitdepend}"
@@ -173,13 +198,7 @@
 		_pvn="-${PV}"
 
 		# Block installation of other SLOTS unless kdeprefix
-		for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
-			# Block non kdeprefix ${PN} on other slots
-			if [[ ${SLOT} != ${slot} ]]; then
-				RDEPEND+=" !kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )"
-			fi
-		done
-		unset slot
+		RDEPEND+=" $(block_other_slots)"
 		;;
 	koffice)
 		SLOT="2"
@@ -198,7 +217,7 @@
 	dev-lang/perl
 	>=x11-libs/qt-core-${QT_DEPEND}:4[qt3support,ssl]
 	>=x11-libs/qt-gui-${QT_DEPEND}:4[accessibility,dbus]
-	>=x11-libs/qt-qt3support-${QT_DEPEND}:4[accessibility]
+	>=x11-libs/qt-qt3support-${QT_DEPEND}:4[accessibility,kde]
 	>=x11-libs/qt-script-${QT_DEPEND}:4
 	>=x11-libs/qt-sql-${QT_DEPEND}:4[qt3support]
 	>=x11-libs/qt-svg-${QT_DEPEND}:4
@@ -453,7 +472,7 @@
 	fi
 }
 
-# @FUNCTION: kde4-base_src_compile
+# @FUNCTION: kde4-base_src_prepare
 # @DESCRIPTION:
 # General pre-configure and pre-compile function for KDE4 applications.
 # It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
@@ -468,9 +487,10 @@
 	fi
 
 	# Enable/disable handbooks for kde4-base packages
-	# kde-l10n inherits kde-base but is metpackage, so no check for doc
+	# kde-l10n inherits kde4-base but is metpackage, so no check for doc
+	# kdelibs inherits kde4-base but handle installing the handbook itself
 	if ! has kde4-meta ${INHERITED}; then
-		has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && enable_selected_doc_linguas
+		has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas
 	fi
 
 	[[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
@@ -603,7 +623,7 @@
 	if [[ -n ${KDEBASE} ]] && [[ -d "${D}${EROOT}usr/share/doc/${PF}" ]]; then
 		# work around bug #97196
 		dodir /usr/share/doc/KDE4 && \
-			mv "${D}${EROOT}usr/share/doc/${PF}" "${D}${EROOT}usr/share/doc/KDE4/" || \
+			mv -f "${D}${EROOT}usr/share/doc/${PF}" "${D}${EROOT}usr/share/doc/KDE4/" || \
 			die "Failed to move docs to KDE4/."
 	fi
 }



1.23                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.23&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.23&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.22&r2=1.23

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- kde4-functions.eclass	3 Aug 2009 21:59:53 -0000	1.22
+++ kde4-functions.eclass	20 Aug 2009 09:18:01 -0000	1.23
@@ -1,9 +1,11 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.22 2009/08/03 21:59:53 wired Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.23 2009/08/20 09:18:01 scarabeus Exp $
 
 # Prefix compat:
 : ${EROOT:=${ROOT}}
+# Append missing trailing slash character
+[[ ${EROOT} = */ ]] || EROOT+="/"
 
 # @ECLASS: kde4-functions.eclass
 # @MAINTAINER:
@@ -352,3 +354,40 @@
 	done
 	eend $?
 }
+
+# @FUNCTION: block_other_slots
+# @DESCRIPTION:
+# Create blocks for the current package in other slots when
+# installed with USE=-kdeprefix
+block_other_slots() {
+	local slot
+
+	debug-print-function ${FUNCNAME} "$@"
+
+	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+		# Block non kdeprefix ${PN} on other slots
+		if [[ ${SLOT} != ${slot} ]]; then
+			echo "!kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )"
+		fi
+	done
+}
+
+# @FUNCTION: add_blocker
+# @DESCRIPTION:
+# Create correct RDEPEND value for blocking correct package.
+# Usefull for file-collision blocks.
+# Parameters are package and version to block.
+# add_blocker kde-base/kdelibs 4.2.4
+add_blocker() {
+	local slot
+
+	debug-print-function ${FUNCNAME} "$@"
+
+	[[ ${1} = "" || ${2} = "" ]] && die "Missing parameter"
+	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+		# on -kdeprefix we block every slot
+		RDEPEND+=" !kdeprefix? ( !<=${1}-${2}:${slot}[-kdeprefix] )"
+	done
+	# on kdeprefix we block only our slot
+	RDEPEND+=" kdeprefix? ( !<=${1}-${2}:${SLOT}[kdeprefix] )"
+}



1.25                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.25&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.25&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.24&r2=1.25

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- kde4-meta.eclass	7 Aug 2009 01:00:11 -0000	1.24
+++ kde4-meta.eclass	20 Aug 2009 09:18:01 -0000	1.25
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.24 2009/08/07 01:00:11 wired Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.25 2009/08/20 09:18:01 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-10-06 18:02 Alexey Shvetsov (alexxy)
  0 siblings, 0 replies; 22+ messages in thread
From: Alexey Shvetsov (alexxy) @ 2009-10-06 18:02 UTC (permalink / raw
  To: gentoo-commits

alexxy      09/10/06 18:02:13

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  [eclass] Update kde4 eclasses

Revision  Changes    Path
1.46                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.46&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.46&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.45&r2=1.46

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- kde4-base.eclass	1 Sep 2009 09:32:08 -0000	1.45
+++ kde4-base.eclass	6 Oct 2009 18:02:12 -0000	1.46
@@ -1,6 +1,6 @@
 # Copyright 2007-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.45 2009/09/01 09:32:08 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.46 2009/10/06 18:02:12 alexxy Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -92,7 +92,7 @@
 # One may override this variable to raise version requirements.
 # For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
 # Note that it is fixed to ${SLOT} for kde-base packages.
-KDE_MINIMAL="${KDE_MINIMAL:-4.2}"
+KDE_MINIMAL="${KDE_MINIMAL:-4.3}"
 
 # Fallback behaviour (for now)
 # TODO Remove when tree is clean
@@ -187,12 +187,20 @@
 		# Determine SLOT from PVs
 		case ${PV} in
 			*.9999*) SLOT="${PV/.9999*/}" ;; # stable live
-			4.4* | 4.3.9* | 4.3.8* | 4.3.7* | 4.3.6*) SLOT="4.4" ;;
-			4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
-			4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
+			4.4* | 4.3.[6-9]*) SLOT="4.4" ;;
+			4.3*) SLOT="4.3" ;;
+			4.2*) SLOT="4.2" ;;
 			9999*) SLOT="live" ;; # regular live
 			*) die "Unsupported ${PV}" ;;
 		esac
+		# This code is to prevent portage from searching GENTOO_MIRRORS for
+		# packages that will never be mirrored. (As they only will ever be in
+		# the overlay).
+		case ${PV} in
+			*9999* | 4.?.[6-9]?)
+				RESTRICT+=" mirror"
+				;;
+		esac
 		KDE_MINIMAL="${SLOT}"
 		_kdedir="${SLOT}"
 		_pv="-${PV}:${SLOT}"
@@ -230,8 +238,9 @@
 	)
 "
 if [[ ${PN} != kdelibs ]]; then
-	[[ ${PN} != libknotificationitem ]] && slot_is_at_least 4.3 ${KDE_MINIMAL} && local libknotificationitem_required=1
 	if [[ ${KDEBASE} = kde-base ]]; then
+		# libknotificationitem only when SLOT is 4.3
+		[[ ${PN} != libknotificationitem ]] && [[ ${SLOT} = 4.3 ]] && local libknotificationitem_required=1
 		kdecommondepend+="
 			kdeprefix? ( >=kde-base/kdelibs${_pv}[kdeprefix] )
 			!kdeprefix? ( >=kde-base/kdelibs${_pvn}[-kdeprefix] )
@@ -245,10 +254,6 @@
 		kdecommondepend+="
 			>=kde-base/kdelibs${_pv}
 		"
-		[[ -n ${libknotificationitem_required} ]] && \
-			kdecommondepend+="
-				>=kde-base/libknotificationitem${_pv}
-			"
 	fi
 fi
 unset _pv _pvn
@@ -372,29 +377,19 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.3.85 | 4.3.90 | 4.3.95 | 4.3.96)
-							# block for normally packed unstable releases
-						 	SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
-						4.3.9* | 4.3.8* | 4.3.7* | 4.3.6*)
-							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
-						4.2.85 | 4.2.90 | 4.2.95 | 4.2.96 | 4.2.98)
+						4.3.85 | 4.3.9[0568])
 							# block for normally packed unstable releases
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
-						4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
+						4.3.[6-9]*)
 							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
-						4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
-							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 					esac
 					;;
 				koffice)
 					case ${PV} in
-						1.9*)
-							SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
-							;;
+						2.0.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" ;;
 						*) SRC_URI="mirror://kde/stable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" ;;
 					esac
-				;;
 			esac
 			fi
 			unset _kmname _kmname_pv
@@ -636,8 +631,9 @@
 	if [[ -n ${KDEBASE} ]] && [[ -d "${D}${EROOT}usr/share/doc/${PF}" ]]; then
 		# work around bug #97196
 		dodir /usr/share/doc/KDE4 && \
-			mv -f "${D}${EROOT}usr/share/doc/${PF}" "${D}${EROOT}usr/share/doc/KDE4/" || \
+			cp -r "${D}${EROOT}usr/share/doc/${PF}" "${D}${EROOT}usr/share/doc/KDE4/" || \
 			die "Failed to move docs to KDE4/."
+			rm -rf "${D}${EROOT}usr/share/doc/${PF}"
 	fi
 }
 



1.25                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.25&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.25&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.24&r2=1.25

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- kde4-functions.eclass	1 Sep 2009 09:32:08 -0000	1.24
+++ kde4-functions.eclass	6 Oct 2009 18:02:12 -0000	1.25
@@ -1,6 +1,8 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.24 2009/09/01 09:32:08 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.25 2009/10/06 18:02:12 alexxy Exp $
+
+inherit versionator
 
 # Prefix compat:
 : ${EROOT:=${ROOT}}
@@ -82,26 +84,7 @@
 		eend $?
 	fi
 
-	if [[ -z ${EROOT%%/} && -x "${KDEDIR}"/bin/kbuildsycoca4 ]]; then
-		# Make sure tha cache file exists, writable by root and readable by
-		# others. Otherwise kbuildsycoca4 will fail.
-		touch "${KDEDIR}/share/kde4/services/ksycoca4"
-		chmod 644 "${KDEDIR}/share/kde4/services/ksycoca4"
-
-		# We have to unset DISPLAY and DBUS_SESSION_BUS_ADDRESS, the ones
-		# in the user's environment (through su [without '-']) may cause
-		# kbuildsycoca4 to hang.
-
-		ebegin "Running kbuildsycoca4 to build global database"
-		# This is needed because we support multiple kde versions installed together.
-		# Lookup in order - local, KDEDIR, /usr, do not duplicate entries btw.
-		local KDEDIRS="${EROOT}usr/share"
-		[[ ${KDEDIR} != "${EROOT}usr" ]] && KDEDIRS="${KDEDIR}/share:${KDEDIRS}"
-		XDG_DATA_DIRS="${EROOT}usr/local/share:${KDEDIRS}" \
-			DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
-			"${KDEDIR}"/bin/kbuildsycoca4 --global --noincremental &> /dev/null
-		eend $?
-	fi
+	# We no longer need to run kbuildsycoca4, as kded does that automatically, as needed
 
 	# fix permission for some directories
 	for x in share/{config,kde4}; do
@@ -372,30 +355,171 @@
 block_other_slots() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	local slot
-	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
-		# Block non kdeprefix ${PN} on other slots
-		if [[ ${SLOT} != ${slot} ]]; then
-			echo "!kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )"
-		fi
-	done
+	_do_blocker ${PN} 0:${SLOT}
 }
 
 # @FUNCTION: add_blocker
 # @DESCRIPTION:
 # Create correct RDEPEND value for blocking correct package.
-# Usefull for file-collision blocks.
-# Parameters are package and version to block.
-# add_blocker kde-base/kdelibs 4.2.4
+# Useful for file-collision blocks.
+# Parameters are package and version(s) to block.
+# add_blocker kdelibs 4.2.4
+# If no version is specified, then all versions will be blocked
+# If any arguments (from 2 on) contain a ":", then different versions
+# are blocked in different slots. (Unlisted slots get the version without
+# a ":", if none, then all versions are blocked). The parameter is then of
+# the form VERSION:SLOT.  Any VERSION of 0 means that no blocker will be
+# added for that slot (or, if no slot, then for any unlisted slot).
+# A parameter of the form :SLOT means to block all versions from that slot.
+# If VERSION begins with "<", then "!<foo" will be used instead of "!<=foo".
+# As a special case, if a parameter with slot "3.5" is passed, then that slot
+# may also be blocked.
+#
+# Versions that match "4.x.50" are equivalent to all slots up to (and including)
+# "4.x", but nothing following slot "4.x"
+#
+# As an example, if SLOT=live, then
+#    add_blocker kdelibs 0 :4.3 '<4.3.96:4.4' 9999:live
+# will add the following to RDEPEND:
+#    !kdeprefix? ( !kde-base/kdelibs:4.3[-kdeprefix] )
+#    !kdeprefix? ( !<kde-base/kdelibs-4.3.96:4.4[-kdeprefix] )
+#    !kdeprefix? ( !<=kde-base/kdelibs-9999:live[-kdeprefix] )
+#    kdeprefix? ( !<=kde-base/kdelibs-9999:live[kdeprefix] )
 add_blocker() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	[[ ${1} = "" || ${2} = "" ]] && die "Missing parameter"
-	local slot
+	RDEPEND+=" $(_do_blocker "$@")"
+}
+
+# _greater_max_in_slot ver slot
+# slot must be 4.x or live
+# returns true if ver is >= the maximum possibile version in slot
+_greater_max_in_slot() {
+	local ver=$1
+	local slot=$2
+	# If slot is live, then return false
+	# (nothing is greater than the maximum live version)
+	[[ $slot == live ]] && return 1
+	# Otherwise, for slot X.Y, test against X.Y.50
+	local test=${slot}.50
+	version_compare $1 ${test}
+	# 1 = '<', 2 = '=', 3 = '>'
+	[[ $? -ne 1 ]]
+}
+
+# _less_min_in_slot ver slot
+# slot must be 4.x or live
+# returns true if ver is <= the minimum possibile version in slot
+_less_min_in_slot() {
+	local ver=$1
+	local slot=$2
+	# If slot == live, then test with "9999_pre", so that 9999 tests false
+	local test=9999_pre
+	# If slot == X.Y, then test with X.(Y-1).50
+	[[ $slot == live ]] || test=${slot%.*}.$((${slot#*.} - 1)).50
+	version_compare $1 ${test}
+	# 1 = '<', 2 = '=', 3 = '>'
+	[[ $? -ne 3 ]]
+}
+
+# Internal function used for add_blocker and block_other_slots
+# This takes the same parameters as add_blocker, but echos to
+# stdout instead of updating a variable.
+_do_blocker() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	[[ -z ${1} ]] && die "Missing parameter"
+	local pkg=kde-base/$1
+	shift
+	local param slot def="unset" var atom
+	# The following variables will hold parameters that contain ":"
+	#  - block_3_5
+	#  - block_4_1
+	#  - block_4_2
+	#  - block_4_3
+	#  - block_4_4
+	#  - block_live
+	for slot in 3.5 ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+		local block_${slot//./_}="unset"
+	done
+
+	# This construct goes through each parameter passed, and sets
+	# either def or block_* to the version passed
+	for param; do
+		# If the parameter does not have a ":" in it...
+		if [[ ${param/:} == ${param} ]]; then
+			def=${param}
+		else # the parameter *does* have a ":" in it
+			# so everythin after the : is the slot...
+			slot=${param#*:}
+			# ...and everything before the : is the version
+			local block_${slot//./_}=${param%:*}
+		fi
+	done
+
 	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+		# ${var} contains the name of the variable we care about for this slot
+		# ${!var} is it's value
+		var=block_${slot//./_}
+		# if we didn't pass *:${slot}, then use the unsloted value
+		[[ ${!var} == "unset" ]] && var=def
+
+		# If the no version was passed, or the version is greater than the
+		# maximum possible version in this slot, block all versions in this
+		# slot
+		if [[ ${!var} == "unset" ]] || _greater_max_in_slot ${!var#<} ${slot}; then
+			atom=${pkg}
+		# If the version is "0" or less than the minimum possible version in
+		# this slot, do nothing
+		elif [[ ${!var} == "0" ]] || _less_min_in_slot ${!var#<} ${slot}; then
+			continue
+		# If the version passed begins with a "<", then use "<" instead of "<="
+		elif [[ ${!var:0:1} == "<" ]]; then
+			# this also removes the first character of the version, which is a "<"
+			atom="<${pkg}-${!var:1}"
+		else
+			atom="<=${pkg}-${!var}"
+		fi
 		# on -kdeprefix we block every slot
-		RDEPEND+=" !kdeprefix? ( !<=${1}-${2}:${slot}[-kdeprefix] )"
+		echo " !kdeprefix? ( !${atom}:${slot}[-kdeprefix] )"
+		# on kdeprefix we block only our slot
+		if [[ ${SLOT} == ${slot} ]]; then
+			echo " kdeprefix? ( !${atom}:${SLOT}[kdeprefix] )"
+		fi
 	done
-	# on kdeprefix we block only our slot
-	RDEPEND+=" kdeprefix? ( !<=${1}-${2}:${SLOT}[kdeprefix] )"
+
+	# This is a special case block for :3.5; it does not use the
+	# default version passed, and no blocker is output *unless* a version
+	# is passed, or ":3.5" is passed to explicitly request a block on all
+	# 3.5 versions.
+	if [[ ${block_3_5} != "unset" && ${block_3_5} != "0" ]]; then
+		if [[ -z ${block_3_5} ]]; then
+			atom=${pkg}
+		elif [[ ${block_3_5:0:1} == "<" ]]; then
+			atom="<${pkg}-${block_3_5:1}"
+		else
+			atom="<=${pkg}-${block_3_5}"
+		fi
+		echo " !${atom}:3.5"
+	fi
+}
+
+# @FUNCTION: add_kdebase_dep
+# @DESCRIPTION:
+# Create proper dependency for kde-base/ dependencies,
+# adding SLOT when needed (and *only* when needed).
+# This takes 1 or 2 arguments.  The first being the package
+# name, the optional second, is additional USE flags to append.
+# The output of this should be added directly to DEPEND/RDEPEND, and
+# may be wrapped in a USE conditional (but not an || conditional
+# without an extra set of parentheses.
+add_kdebase_dep() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	[[ -z ${1} ]] && die "Missing parameter"
+
+	local use=${2:+,${2}}
+
+	echo "!kdeprefix? ( >=kde-base/${1}-${PV}[-kdeprefix${use}] )"
+	echo "kdeprefix? ( >=kde-base/${1}-${PV}:${SLOT}[kdeprefix${use}] )"
 }



1.26                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.26&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.26&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.25&r2=1.26

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- kde4-meta.eclass	20 Aug 2009 09:18:01 -0000	1.25
+++ kde4-meta.eclass	6 Oct 2009 18:02:12 -0000	1.26
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.25 2009/08/20 09:18:01 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.26 2009/10/06 18:02:12 alexxy Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -41,7 +41,9 @@
 		case ${PN} in
 			akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker)
 				IUSE+=" +kontact"
-				RDEPEND+=" kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
+				if ! slot_is_at_least 4.4 ${SLOT} || [[ ${SLOT} == 4.4 && ${PV} < 4.3.68 ]]; then
+					RDEPEND+=" kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )"
+				fi
 				;;
 		esac
 		;;
@@ -217,12 +219,12 @@
 	else
 		local abort tarball tarfile f extractlist moduleprefix postfix
 		case ${PV} in
-			4.3.85 | 4.3.90 | 4.3.95 | 4.3.96 | 4.3.98 | 4.2.85 | 4.2.90 | 4.2.95 | 4.2.96 | 4.2.98)
+			4.3.85 | 4.3.9[0568])
 				# block for normally packed upstream unstable snapshots
 				KMTARPARAMS+=" --bzip2" # bz2
 				postfix="bz2"
 				;;
-			4.2.9* | 4.2.8* | 4.2.7* | 4.2.6* | 4.3.9* | 4.3.8* | 4.3.7* | 4.3.6*)
+			4.3.[6-9]*)
 				KMTARPARAMS+=" --lzma" # lzma
 				postfix="lzma"
 				;;
@@ -358,8 +360,10 @@
 			if has kontact ${IUSE//+} && use kontact; then
 				KMEXTRA+="
 					kontact/plugins/${PLUGINNAME:-${PN}}/"
-				KMEXTRACTONLY+="
-					kontactinterfaces/"
+				if ! slot_is_at_least 4.4 ${SLOT} || [[ ${SLOT} == 4.4 && ${PV} < 4.3.68 ]]; then
+					KMEXTRACTONLY+="
+						kontactinterfaces/"
+				fi
 			fi
 			;;
 		kdeutils)
@@ -392,11 +396,10 @@
 			# No need for unpack since 4.2.86
 			# Remove when 4.2 is wiped out from the tree
 			case ${PV} in
-				4.1*|4.2.0|4.2.1|4.2.2|4.2.3|4.2.4|4.2.85)
+				4.2.[0-4])
 					KMCOMPILEONLY+="
 						cmake/modules/"
 					;;
-				*) ;;
 			esac
 			;;
 		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics)
@@ -608,18 +611,9 @@
 				sed -i -e '/install(.*FindKOfficeLibs.cmake/,/)/ d' \
 					"${S}"/cmake/modules/CMakeLists.txt || \
 					die "${LINENO}: sed died in collision prevention section"
-				case ${PV} in
-					2.0.*)
-						sed -i -n -e '1h;1!H;${g;s/install(.\+config-openexr.h.\+)//;p}' \
-							"${S}"/CMakeLists.txt || \
-							die "${LINENO}: sed died in collision prevention section"
-						;;
-					*)
-						sed -i -e '/install(.\+config-openexr\.h.\+)/d' \
-							"${S}"//CMakeLists.txt || \
-							die "${LINENO}: sed died in collision prevention section"
-						;;
-				esac
+				sed -i -e '/install(.\+config-openexr\.h.\+)/d' \
+					"${S}"//CMakeLists.txt || \
+					die "${LINENO}: sed died in collision prevention section"
 			fi
 	esac
 






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2009-12-01 10:56 Tomas Chvatal (scarabeus)
  0 siblings, 0 replies; 22+ messages in thread
From: Tomas Chvatal (scarabeus) @ 2009-12-01 10:56 UTC (permalink / raw
  To: gentoo-commits

scarabeus    09/12/01 10:56:18

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Update kde4 eclasses from overlay:
  Changes:
  kde-functions
  	Update the block resolving case to make it simpler.
  kde-meta
  	Drop not required elogs.
  	Drop redundant dependencies.
  kde-base
  	introduce kdeenablefinal useflag (masked).
  	support unpacking of xz tarballs in eapi2.

Revision  Changes    Path
1.54                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.54&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.54&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.53&r2=1.54

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- kde4-base.eclass	25 Nov 2009 19:51:11 -0000	1.53
+++ kde4-base.eclass	1 Dec 2009 10:56:17 -0000	1.54
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.53 2009/11/25 19:51:11 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.54 2009/12/01 10:56:17 scarabeus Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -19,7 +19,7 @@
 # Please note that if it's set to 'never' you need to explicitly override following phases:
 # src_configure, src_compile, src_test and src_install.
 # Defaults to 'always'.
-CMAKE_REQUIRED="${CMAKE_REQUIRED:-${CMAKE_REQUIRED:-always}}"
+: ${CMAKE_REQUIRED:=always}
 if [[ ${CMAKE_REQUIRED} = false || ${CMAKE_REQUIRED} = never ]]; then
 	buildsystem_eclass=""
 	export_fns=""
@@ -144,9 +144,9 @@
 # @DESCRIPTION:
 # Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1..
 # Currently defaults to 4.5.1 for KDE 4.3 and earlier
-# or 4.6.0_beta for KDE 4.4 and later
+# or 4.6.0_rc1 for KDE 4.4 and later
 if slot_is_at_least 4.4 "${KDE_MINIMAL}"; then
-	QT_MINIMAL="${QT_MINIMAL:-4.6.0_beta}"
+	QT_MINIMAL="${QT_MINIMAL:-4.6.0_rc1}"
 fi
 
 QT_MINIMAL="${QT_MINIMAL:-4.5.1}"
@@ -239,6 +239,10 @@
 fi
 kdedepend="
 	dev-util/pkgconfig
+	!aqua? (
+		x11-proto/xextproto
+		x11-proto/xf86vidmodeproto
+	)
 "
 case ${KDE_REQUIRED} in
 	always)
@@ -253,6 +257,7 @@
 		;;
 	*) ;;
 esac
+
 unset kdecommondepend kdedepend
 
 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
@@ -264,6 +269,9 @@
 RDEPEND+=" ${COMMONDEPEND}"
 unset COMMONDEPEND
 
+# Add experimental kdeenablefinal, disabled by default
+IUSE+=" kdeenablefinal"
+
 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
 # koffice ebuild, the URI should be set in the ebuild itself
 case ${BUILD_TYPE} in
@@ -305,7 +313,7 @@
 				kdelibs-*)
 					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
 					;;
-				kdereview)
+				kdereview*)
 					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
 					;;
 				kdesupport)
@@ -360,7 +368,10 @@
 							# block for normally packed unstable releases
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						4.3.[6-9]*)
-							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
+							# Repacked tarballs: need to depend on xz-utils to ensure that they can be unpacked
+							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.xz"
+							DEPEND+=" app-arch/xz-utils"
+							;;
 						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 					esac
 					;;
@@ -454,8 +465,25 @@
 	if [[ ${BUILD_TYPE} = live ]]; then
 		migrate_store_dir
 		subversion_src_unpack
+	elif [[ ${EAPI} == 2 ]]; then
+		local file
+		for file in ${A}; do
+			# This setup is because EAPI <= 2 cannot unpack *.tar.xz files
+			# directly, so we do it ourselves (using the exact same code as portage)
+			case ${file} in
+				*.tar.xz)
+					echo ">>> Unpacking ${file} to ${PWD}"
+					xz -dc "${DISTDIR}"/${file} | tar xof -
+					assert "failed unpacking ${file}"
+					;;
+				*)
+					unpack ${file}
+					;;
+			esac
+		done
 	else
-		base_src_unpack
+		# For EAPI >= 3, we can just use unpack() directly
+		unpack ${A}
 	fi
 }
 
@@ -500,17 +528,19 @@
 kde4-base_src_configure() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	# Handle common release builds
-	if ! has debug ${IUSE//+} || ! use debug; then
-		append-cppflags -DQT_NO_DEBUG
-	fi
-
 	# Build tests in src_test only, where we override this value
 	local cmakeargs="-DKDE4_BUILD_TESTS=OFF"
 
-	# set "real" debug mode
+	if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then
+		cmakeargs+=" -DKDE4_ENABLE_FINAL=ON"
+	fi
+
 	if has debug ${IUSE//+} && use debug; then
+		# Set "real" debug mode
 		CMAKE_BUILD_TYPE="Debugfull"
+	else
+		# Handle common release builds
+		append-cppflags -DQT_NO_DEBUG
 	fi
 
 	# Set distribution name



1.27                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.27&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.27&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.26&r2=1.27

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- kde4-functions.eclass	27 Oct 2009 14:16:49 -0000	1.26
+++ kde4-functions.eclass	1 Dec 2009 10:56:17 -0000	1.27
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.26 2009/10/27 14:16:49 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.27 2009/12/01 10:56:17 scarabeus Exp $
 
 inherit versionator
 
@@ -378,8 +378,7 @@
 # will add the following to RDEPEND:
 #    !kdeprefix? ( !kde-base/kdelibs:4.3[-kdeprefix] )
 #    !kdeprefix? ( !<kde-base/kdelibs-4.3.96:4.4[-kdeprefix] )
-#    !kdeprefix? ( !<=kde-base/kdelibs-9999:live[-kdeprefix] )
-#    kdeprefix? ( !<=kde-base/kdelibs-9999:live[kdeprefix] )
+#    !<=kde-base/kdelibs-9999:live
 add_blocker() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -399,7 +398,7 @@
 	local test=${slot}.50
 	version_compare $1 ${test}
 	# 1 = '<', 2 = '=', 3 = '>'
-	[[ $? -ne 1 ]]
+	(( $? != 1 ))
 }
 
 # _less_min_in_slot ver slot
@@ -411,10 +410,10 @@
 	# If slot == live, then test with "9999_pre", so that 9999 tests false
 	local test=9999_pre
 	# If slot == X.Y, then test with X.(Y-1).50
-	[[ $slot == live ]] || test=${slot%.*}.$((${slot#*.} - 1)).50
+	[[ $slot != live ]] && test=${slot%.*}.$((${slot#*.} - 1)).50
 	version_compare $1 ${test}
 	# 1 = '<', 2 = '=', 3 = '>'
-	[[ $? -ne 3 ]]
+	(( $? != 3 ))
 }
 
 # Internal function used for add_blocker and block_other_slots
@@ -474,11 +473,12 @@
 		else
 			atom="<=${pkg}-${!var}"
 		fi
-		# on -kdeprefix we block every slot
-		echo " !kdeprefix? ( !${atom}:${slot}[-kdeprefix] )"
-		# on kdeprefix we block only our slot
+		# we always block our own slot, ignoring kdeprefix
 		if [[ ${SLOT} == ${slot} ]]; then
-			echo " kdeprefix? ( !${atom}:${SLOT}[kdeprefix] )"
+			echo " !${atom}:${slot}"
+		else
+			# we only block other slots on -kdeprefix
+			echo " !kdeprefix? ( !${atom}:${slot}[-kdeprefix] )"
 		fi
 	done
 
@@ -514,6 +514,6 @@
 
 	local use=${2:+,${2}}
 
-	echo "!kdeprefix? ( >=kde-base/${1}-${PV}[-kdeprefix${use}] )"
-	echo "kdeprefix? ( >=kde-base/${1}-${PV}:${SLOT}[kdeprefix${use}] )"
+	echo " !kdeprefix? ( >=kde-base/${1}-${PV}[-kdeprefix${use}] )"
+	echo " kdeprefix? ( >=kde-base/${1}-${PV}:${SLOT}[kdeprefix${use}] )"
 }



1.28                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.28&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.28&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.27&r2=1.28

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- kde4-meta.eclass	27 Oct 2009 14:16:49 -0000	1.27
+++ kde4-meta.eclass	1 Dec 2009 10:56:17 -0000	1.28
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.27 2009/10/27 14:16:49 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.28 2009/12/01 10:56:17 scarabeus Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -20,21 +20,13 @@
 	die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild"
 fi
 
-# Add khelpcenter dependency when installing handbooks
-if [[ ${PN} != khelpcenter ]] && has handbook ${IUSE//+}; then
-	RDEPEND+=" handbook? ( $(add_kdebase_dep khelpcenter) )"
-fi
-
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
 	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphics)
 		COMMONDEPEND+=" >=kde-base/qimageblitz-0.0.4"
 		;;
 	kdepim|kdepim-runtime)
-		COMMONDEPEND+="
-			dev-libs/boost
-			$(add_kdebase_dep kdepimlibs)
-		"
+		COMMONDEPEND+="	$(add_kdebase_dep kdepimlibs)"
 		case ${PN} in
 			akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker)
 				IUSE+=" +kontact"
@@ -222,8 +214,9 @@
 				postfix="bz2"
 				;;
 			4.3.[6-9]*)
-				KMTARPARAMS+=" --lzma" # lzma
-				postfix="lzma"
+				# Not passing --xz, as it doesn't work with stable tar
+				KMTARPARAMS+=" --use-compress-program=xz" # xz
+				postfix="xz"
 				;;
 			*)
 				KMTARPARAMS+=" --bzip2" # bz2
@@ -700,17 +693,10 @@
 
 # @FUNCTION: kde4-meta_pkg_postinst
 # @DESCRIPTION:
-# Display information about application handbook and invoke kbuildsycoca4.
+# Invoke kbuildsycoca4.
 kde4-meta_pkg_postinst() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	if has handbook ${IUSE//+} && ! use handbook; then
-		echo
-		einfo "Application handbook for ${PN} has not been installed."
-		einfo "To install handbook, reemerge =${CATEGORY}/${PF} with 'handbook' USE flag."
-		echo
-	fi
-
 	kde4-base_pkg_postinst
 }
 






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2010-02-02 14:20 Maciej Mrozowski (reavertm)
  0 siblings, 0 replies; 22+ messages in thread
From: Maciej Mrozowski (reavertm) @ 2010-02-02 14:20 UTC (permalink / raw
  To: gentoo-commits

reavertm    10/02/02 14:20:16

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Synchronized KDE eclasses from overlay, changes:
  - KDE SC 4.5 support
  - EAPI-3 support
  - prefix support
  - moved docs to /usr/share/doc/${PF}
  - applied override for kdepim hardcoded checks

Revision  Changes    Path
1.58                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.58&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?rev=1.58&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-base.eclass?r1=1.57&r2=1.58

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- kde4-base.eclass	14 Dec 2009 19:44:15 -0000	1.57
+++ kde4-base.eclass	2 Feb 2010 14:20:16 -0000	1.58
@@ -1,6 +1,6 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.57 2009/12/14 19:44:15 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.58 2010/02/02 14:20:16 reavertm Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -121,9 +121,9 @@
 		# Determine SLOT from PVs
 		case ${PV} in
 			*.9999*) SLOT="${PV/.9999*/}" ;; # stable live
+			4.5* | 4.4.[6-9]*) SLOT="4.5" ;;
 			4.4* | 4.3.[6-9]*) SLOT="4.4" ;;
 			4.3*) SLOT="4.3" ;;
-			4.2*) SLOT="4.2" ;;
 			9999*) SLOT="live" ;; # regular live
 			*) die "Unsupported ${PV}" ;;
 		esac
@@ -386,10 +386,10 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.3.8[05] | 4.3.9[0568])
+						4.[34].8[05] | 4.[34].9[0568])
 							# block for normally packed unstable releases
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
-						4.3.[6-9]*)
+						4.[34].[6-9]*)
 							# Repacked tarballs: need to depend on xz-utils to ensure that they can be unpacked
 							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.xz"
 							DEPEND+=" app-arch/xz-utils"
@@ -493,10 +493,10 @@
 	if [[ ${BUILD_TYPE} = live ]]; then
 		migrate_store_dir
 		subversion_src_unpack
-	elif [[ ${EAPI} == [23] ]]; then
+	elif [[ ${EAPI} == 2 ]]; then
 		local file
 		for file in ${A}; do
-			# This setup is because EAPI <= 3 cannot unpack *.tar.xz files
+			# This setup is because EAPI <= 2 cannot unpack *.tar.xz files
 			# directly, so we do it ourselves (using the exact same code as portage)
 			case ${file} in
 				*.tar.xz)
@@ -510,7 +510,7 @@
 			esac
 		done
 	else
-		# For EAPI >= 4, we can just use unpack() directly
+		# For EAPI >= 3, we can just use unpack() directly
 		unpack ${A}
 	fi
 }
@@ -537,7 +537,10 @@
 	fi
 
 	[[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
+
+	# Apply patches
 	base_src_prepare
+	epatch_user
 
 	# Save library dependencies
 	if [[ -n ${KMSAVELIBS} ]] ; then
@@ -675,16 +678,6 @@
 			fi
 		done
 	fi
-
-	[[ -z ${ED} ]] && ED=${D}
-
-	if [[ -n ${KDEBASE} ]] && [[ -d ${ED}usr/share/doc/${PF} ]]; then
-		# work around bug #97196
-		dodir /usr/share/doc/KDE4 && \
-			cp -r "${ED}usr/share/doc/${PF}" "${ED}usr/share/doc/KDE4/" || \
-			die "Failed to move docs to KDE4/."
-			rm -rf "${ED}usr/share/doc/${PF}"
-	fi
 }
 
 # @FUNCTION: kde4-base_pkg_postinst
@@ -711,6 +704,16 @@
 		ewarn "take responsibilities for dead kittens."
 		echo
 	fi
+	if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! has_version 'kde-base/kdebase-runtime-meta' && ! has_version 'kde-base/kdebase-startkde'; then
+		# warn about not supported approach
+		if [[ ${KDE_REQUIRED} == always ]] || ( [[ ${KDE_REQUIRED} == optional ]] && use kde ); then
+			echo
+			ewarn "WARNING! Your system configuration contains neither \"kde-base/kdebase-runtime-meta\""
+			ewarn "nor \"kde-base/kdebase-startkde\". You need one of above."
+			ewarn "With this setting you are unsupported by KDE team."
+			ewarn "All missing features you report for misc packages will be probably ignored or closed as INVALID."
+		fi
+	fi
 }
 
 # @FUNCTION: kde4-base_pkg_postrm



1.30                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.30&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?rev=1.30&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-functions.eclass?r1=1.29&r2=1.30

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- kde4-functions.eclass	14 Dec 2009 19:44:15 -0000	1.29
+++ kde4-functions.eclass	2 Feb 2010 14:20:16 -0000	1.30
@@ -1,6 +1,6 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.29 2009/12/14 19:44:15 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.30 2010/02/02 14:20:16 reavertm Exp $
 
 inherit versionator
 
@@ -41,7 +41,7 @@
 # @DESCRIPTION:
 # The slots used by all KDE versions later than 4.0. The live KDE releases use
 # KDE_LIVE_SLOTS instead. Values should be ordered.
-KDE_SLOTS=( "4.1" "4.2" "4.3" "4.4" )
+KDE_SLOTS=( "4.1" "4.2" "4.3" "4.4" "4.5" )
 
 # @ECLASS-VARIABLE: KDE_LIVE_SLOTS
 # @DESCRIPTION:
@@ -518,6 +518,6 @@
 
 	local use=${2:+,${2}}
 
-	echo " !kdeprefix? ( >=kde-base/${1}-${PV}[-kdeprefix${use}] )"
-	echo " kdeprefix? ( >=kde-base/${1}-${PV}:${SLOT}[kdeprefix${use}] )"
+	echo " !kdeprefix? ( >=kde-base/${1}-${PV}[aqua=,-kdeprefix${use}] )"
+	echo " kdeprefix? ( >=kde-base/${1}-${PV}:${SLOT}[aqua=,kdeprefix${use}] )"
 }



1.33                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.33&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?rev=1.33&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/kde4-meta.eclass?r1=1.32&r2=1.33

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- kde4-meta.eclass	11 Jan 2010 17:27:35 -0000	1.32
+++ kde4-meta.eclass	2 Feb 2010 14:20:16 -0000	1.33
@@ -1,6 +1,6 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.32 2010/01/11 17:27:35 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.33 2010/02/02 14:20:16 reavertm Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -18,24 +18,17 @@
 
 [[ -z ${KMNAME} ]] && die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild"
 
-# Add khelpcenter dependency when installing handbooks
-if [[ ${PN} != khelpcenter ]] && has handbook ${IUSE//+}; then
-	RDEPEND+=" handbook? ( $(add_kdebase_dep khelpcenter) )"
-fi
-
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
 	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphics)
 		COMMONDEPEND+=" >=kde-base/qimageblitz-0.0.4"
 		;;
 	kdepim|kdepim-runtime)
-		COMMONDEPEND+="	$(add_kdebase_dep kdepimlibs)"
+		! slot_is_at_least 4.4 ${SLOT} && COMMONDEPEND+=" $(add_kdebase_dep kdepimlibs)"
 		case ${PN} in
 			akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker)
 				IUSE+=" +kontact"
-				if ! slot_is_at_least 4.4 ${SLOT}; then
-					RDEPEND+=" kontact? ( $(add_kdebase_dep kontactinterfaces) )"
-				fi
+				RDEPEND+=" kontact? ( $(add_kdebase_dep kontact) )"
 				;;
 		esac
 		;;
@@ -211,12 +204,12 @@
 	else
 		local abort tarball tarfile f extractlist moduleprefix postfix
 		case ${PV} in
-			4.3.8[05] | 4.3.9[0568])
+			4.[34].8[05] | 4.[34].9[0568])
 				# block for normally packed upstream unstable snapshots
 				KMTARPARAMS+=" --bzip2" # bz2
 				postfix="bz2"
 				;;
-			4.3.[6-9]*)
+			4.[34].[6-9]*)
 				# Not passing --xz, as it doesn't work with stable tar
 				KMTARPARAMS+=" --use-compress-program=xz" # xz
 				postfix="xz"
@@ -334,6 +327,7 @@
 			if [[ ${PN} != libkdegames ]]; then
 				KMEXTRACTONLY+="
 					libkdegames/"
+				KMLOADLIBS="${KMLOADLIBS} libkdegames"
 			fi
 			;;
 		kdepim)
@@ -341,15 +335,16 @@
 				KMEXTRACTONLY+="
 					libkdepim/"
 			fi
-			case ${SLOT} in
-				4.3|4.4|live)
-					KMEXTRACTONLY+="
-						kdepim-version.h
-						config-enterprise.h.cmake"
-					;;
-			esac
 			KMEXTRACTONLY+="
+				config-enterprise.h.cmake
 				kleopatra/ConfigureChecks.cmake"
+			if slot_is_at_least 4.5 ${SLOT}; then
+				KMEXTRACTONLY+="
+					kdepim-version.h.cmake"
+			else
+				KMEXTRACTONLY+="
+					kdepim-version.h"
+			fi
 			if has kontact ${IUSE//+} && use kontact; then
 				KMEXTRA+="
 					kontact/plugins/${PLUGINNAME:-${PN}}/"
@@ -360,12 +355,8 @@
 			fi
 			;;
 		kdeutils)
-			case ${SLOT} in
-				4.3|4.4|live)
-					KMEXTRACTONLY+="
-						kdeutils-version.h"
-					;;
-			esac
+			KMEXTRACTONLY+="
+				kdeutils-version.h"
 			;;
 		koffice)
 			KMEXTRACTONLY+="
@@ -385,16 +376,6 @@
 	esac
 	# Don't install cmake modules for split ebuilds, to avoid collisions.
 	case ${KMNAME} in
-		kdepim)
-			# No need for unpack since 4.2.86
-			# Remove when 4.2 is wiped out from the tree
-			case ${PV} in
-				4.2.[0-4])
-					KMCOMPILEONLY+="
-						cmake/modules/"
-					;;
-			esac
-			;;
 		kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics)
 			case ${PN} in
 				libkdegames|libkdeedu|libkworkspace)
@@ -588,17 +569,24 @@
 				-i CMakeLists.txt || die "failed to disable hardcoded checks"
 			;;
 		kdepim)
-			case ${PN} in
-				kaddressbook|kalarm|kmailcvt|kontact|korganizer|korn)
-					sed -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
-						-e '/add_custom_target(kmail_xml /,/)/p' \
-						-i kmail/CMakeLists.txt || die "uncommenting xml failed"
-					_change_cmakelists_parent_dirs kmail
-				;;
-			esac
+			# Disable hardcoded checks
+			sed -r -e '/find_package\(KdepimLibs/s/REQUIRED//' \
+				-e '/find_package\((KdepimLibs|Boost|QGpgme|Akonadi|ZLIB|Strigi|SharedDesktopOntologies|Soprano|Nepomuk)/{/macro_optional_/!s/find/macro_optional_&/}' \
+				-e '/macro_log_feature\((Boost|QGPGME|Akonadi|ZLIB|STRIGI|SHAREDDESKTOPONTOLOGIES|Soprano|Nepomuk)_FOUND/s/ TRUE / FALSE /' \
+				-i CMakeLists.txt || die "failed to disable hardcoded checks"
+			if ! slot_is_at_least 4.5 ${SLOT}; then
+				case ${PN} in
+					kalarm|kmailcvt|kontact|korganizer|korn)
+						sed -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
+							-e '/add_custom_target(kmail_xml /,/)/p' \
+							-i kmail/CMakeLists.txt || die "uncommenting xml failed"
+						_change_cmakelists_parent_dirs kmail
+					;;
+				esac
+			fi
 			;;
 		kdewebdev)
-			# Disable hardcoded kdepimlibs check
+			# Disable hardcoded checks
 			sed -e 's/find_package(KdepimLibs REQUIRED)/macro_optional_find_package(KdepimLibs)/' \
 				-e 's/find_package(LibXml2 REQUIRED)/macro_optional_find_package(LibXml2)/' \
 				-e 's/find_package(LibXslt REQUIRED)/macro_optional_find_package(LibXslt)/' \
@@ -606,7 +594,7 @@
 				-i CMakeLists.txt || die "failed to disable hardcoded checks"
 			;;
 		koffice)
-			# prevent collisions
+			# Prevent collisions
 			if [[ ${PN} != koffice-data ]]; then
 				sed -e '/install(.*FindKOfficeLibs.cmake/,/)/ d' \
 					-i cmake/modules/CMakeLists.txt || die "${LINENO}: sed died in collision prevention section"






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2010-05-15 15:19 Maciej Mrozowski (reavertm)
  0 siblings, 0 replies; 22+ messages in thread
From: Maciej Mrozowski (reavertm) @ 2010-05-15 15:19 UTC (permalink / raw
  To: gentoo-commits

reavertm    10/05/15 15:19:04

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Sync eclasses from kde overlay.
  - kdevelop ebuils support
  - cmake-2.6.4 needed for KDE SC 4.5
  - crosscompilation fixes
  - fix README's installation
  - pre-release koffice support

Revision  Changes    Path
1.61                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.61&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.61&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.60&r2=1.61

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- kde4-base.eclass	15 May 2010 14:03:06 -0000	1.60
+++ kde4-base.eclass	15 May 2010 15:19:04 -0000	1.61
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.60 2010/05/15 14:03:06 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.61 2010/05/15 15:19:04 reavertm Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -13,6 +13,17 @@
 # NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
 # eclass will fail with version older than 2.
 
+inherit kde4-functions base eutils
+
+get_build_type
+if [[ ${BUILD_TYPE} = live ]]; then
+	if [[ ${KDEBASE} = kdevelop ]]; then
+		inherit git
+	else
+		inherit subversion
+	fi
+fi
+
 # @ECLASS-VARIABLE: CMAKE_REQUIRED
 # @DESCRIPTION:
 # Specify if cmake buildsystem is being used. Possible values are 'always' and 'never'.
@@ -20,28 +31,75 @@
 # src_configure, src_compile, src_test and src_install.
 # Defaults to 'always'.
 : ${CMAKE_REQUIRED:=always}
-if [[ ${CMAKE_REQUIRED} = false || ${CMAKE_REQUIRED} = never ]]; then
-	buildsystem_eclass=""
-	export_fns=""
-else
+if [[ ${CMAKE_REQUIRED} = always ]]; then
 	buildsystem_eclass="cmake-utils"
 	export_fns="src_configure src_compile src_test src_install"
 fi
 
-inherit kde4-functions
-
-get_build_type
-if [[ ${BUILD_TYPE} = live ]]; then
-	subversion_eclass="subversion"
+# Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
+if [[ -n ${KDE_MINIMAL} ]]; then
+	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+		[[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
+	done
+	unset slot
+	[[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
+else
+	KDE_MINIMAL_VALID=1
 fi
 
-inherit base ${buildsystem_eclass} eutils ${subversion_eclass}
+# @ECLASS-VARIABLE: KDE_MINIMAL
+# @DESCRIPTION:
+# This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
+# version for apps to work. Currently defaults to 4.3
+# One may override this variable to raise version requirements.
+# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
+# Note that it is fixed to ${SLOT} for kde-base packages.
+KDE_MINIMAL="${KDE_MINIMAL:-4.3}"
 
-EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare  ${export_fns} pkg_postinst pkg_postrm
+# Set slot for packages in kde-base, koffice and kdevelop
+case ${KDEBASE} in
+	kde-base)
+		# Determine SLOT from PVs
+		case ${PV} in
+			*.9999*) SLOT="${PV/.9999*/}" ;; # stable live
+			4.5* | 4.4.[6-9]*) SLOT="4.5" ;;
+			4.4* | 4.3.[6-9]*) SLOT="4.4" ;;
+			4.3*) SLOT="4.3" ;;
+			9999*) SLOT="live" ;; # regular live
+			*) die "Unsupported ${PV}" ;;
+		esac
+		KDE_MINIMAL="${SLOT}"
+		;;
+	koffice)
+		SLOT="2"
+		;;
+	kdevelop)
+		if [[ ${BUILD_TYPE} = live ]]; then
+			KDEVELOP_VERSION="9999"
+			KDEVPLATFORM_VERSION="9999"
+		else
+			case ${PN} in
+				kdevelop|quanta)
+					KDEVELOP_VERSION=${PV}
+					KDEVPLATFORM_VERSION="$(($(get_major_version)-3)).$(get_after_major_version)"
+					;;
+				*)
+					KDEVELOP_VERSION="$(($(get_major_version)+3)).$(get_after_major_version)"
+					KDEVPLATFORM_VERSION=${PV}
+			esac
+		fi
+		SLOT="4"
+		;;
+esac
+
+slot_is_at_least 4.5 ${KDE_MINIMAL} && CMAKE_MIN_VERSION="2.6.4"
+
+inherit ${buildsystem_eclass}
+
+EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare ${export_fns} pkg_postinst pkg_postrm
 
 unset buildsystem_eclass
 unset export_fns
-unset subversion_eclass
 
 case ${KDEBASE} in
 	kde-base)
@@ -52,6 +110,10 @@
 		HOMEPAGE="http://www.koffice.org/"
 		LICENSE="GPL-2"
 		;;
+	kdevelop)
+		HOMEPAGE="http://www.kdevelop.org/"
+		LICENSE="GPL-2"
+		;;
 esac
 
 # @ECLASS-VARIABLE: OPENGL_REQUIRED
@@ -86,26 +148,6 @@
 # Note that for kde-base packages this variable is fixed to 'always'.
 KDE_REQUIRED="${KDE_REQUIRED:-always}"
 
-# Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
-if [[ -n ${KDE_MINIMAL} ]]; then
-	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
-		[[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
-	done
-	unset slot
-	[[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
-else
-	KDE_MINIMAL_VALID=1
-fi
-
-# @ECLASS-VARIABLE: KDE_MINIMAL
-# @DESCRIPTION:
-# This variable is used when KDE_REQUIRED is set, to specify required KDE minimal
-# version for apps to work. Currently defaults to 4.3
-# One may override this variable to raise version requirements.
-# For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
-# Note that it is fixed to ${SLOT} for kde-base packages.
-KDE_MINIMAL="${KDE_MINIMAL:-4.3}"
-
 # Setup packages inheriting this eclass
 case ${KDEBASE} in
 	kde-base)
@@ -118,15 +160,6 @@
 			# All other ebuild types default to -kdeprefix as before
 			IUSE+=" kdeprefix"
 		fi
-		# Determine SLOT from PVs
-		case ${PV} in
-			*.9999*) SLOT="${PV/.9999*/}" ;; # stable live
-			4.5* | 4.4.[6-9]*) SLOT="4.5" ;;
-			4.4* | 4.3.[6-9]*) SLOT="4.4" ;;
-			4.3*) SLOT="4.3" ;;
-			9999*) SLOT="live" ;; # regular live
-			*) die "Unsupported ${PV}" ;;
-		esac
 		# This code is to prevent portage from searching GENTOO_MIRRORS for
 		# packages that will never be mirrored. (As they only will ever be in
 		# the overlay).
@@ -135,22 +168,16 @@
 				RESTRICT+=" mirror"
 				;;
 		esac
-		KDE_MINIMAL="${SLOT}"
-		_kdedir="${SLOT}"
-
 		# Block installation of other SLOTS unless kdeprefix
 		RDEPEND+=" $(block_other_slots)"
 		;;
-	koffice)
-		SLOT="2"
-		;;
 esac
 
 # @ECLASS-VARIABLE: QT_MINIMAL
 # @DESCRIPTION:
 # Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1..
 # Currently defaults to 4.5.1 for KDE 4.3 and earlier
-# or 4.6.0_rc1 for KDE 4.4 and later
+# or 4.6.0 for KDE 4.4 and later
 if slot_is_at_least 4.4 "${KDE_MINIMAL}"; then
 	QT_MINIMAL="${QT_MINIMAL:-4.6.0}"
 fi
@@ -233,7 +260,6 @@
 
 # KDE dependencies
 kdecommondepend="
-	dev-lang/perl
 	>=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl]
 	>=x11-libs/qt-gui-${QT_MINIMAL}:4[dbus]
 	>=x11-libs/qt-qt3support-${QT_MINIMAL}:4[kde]
@@ -247,6 +273,9 @@
 		x11-libs/libXxf86vm
 	)
 "
+#perl is not needed on host (+ difficult crosscompilation)
+tc-is-cross-compiler || kdecommondepend="$kdecommondepend dev-lang/perl"
+
 if [[ ${PN} != kdelibs ]]; then
 	if [[ ${KDEBASE} = kde-base ]]; then
 		kdecommondepend+=" $(add_kdebase_dep kdelibs)"
@@ -257,6 +286,13 @@
 		kdecommondepend+="
 			>=kde-base/kdelibs-${KDE_MINIMAL}
 		"
+		if [[ ${KDEBASE} = kdevelop ]]; then
+			if [[ ${PN} != kdevplatform ]]; then
+				kdecommondepend+="
+					>=dev-util/kdevplatform-${KDEVPLATFORM_VERSION}
+				"
+			fi
+		fi
 	fi
 fi
 kdedepend="
@@ -299,77 +335,88 @@
 # koffice ebuild, the URI should be set in the ebuild itself
 case ${BUILD_TYPE} in
 	live)
-		# Determine branch URL based on live type
-		local branch_prefix
-		case ${PV} in
-			9999*)
-				# trunk
-				branch_prefix="trunk/KDE"
-				;;
-			*)
-				# branch
-				branch_prefix="branches/KDE/${SLOT}"
-				# @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
-				# @DESCRIPTION
-				# Suffix appended to ESVN_PROJECT depending on fetched branch.
-				# Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
-				ESVN_PROJECT_SUFFIX="-${PV}"
-				;;
-		esac
 		SRC_URI=""
-		# @ECLASS-VARIABLE: ESVN_MIRROR
-		# @DESCRIPTION:
-		# This variable allows easy overriding of default kde mirror service
-		# (anonsvn) with anything else you might want to use.
-		ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
-		# Split ebuild, or extragear stuff
-		if [[ -n ${KMNAME} ]]; then
-		    ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
+		if has subversion ${INHERITED}; then
+			# Determine branch URL based on live type
+			local branch_prefix
+			case ${PV} in
+				9999*)
+					# trunk
+					branch_prefix="trunk/KDE"
+					;;
+				*)
+					# branch
+					branch_prefix="branches/KDE/${SLOT}"
+					# @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
+					# @DESCRIPTION
+					# Suffix appended to ESVN_PROJECT depending on fetched branch.
+					# Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
+					ESVN_PROJECT_SUFFIX="-${PV}"
+					;;
+			esac
+			# @ECLASS-VARIABLE: ESVN_MIRROR
+			# @DESCRIPTION:
+			# This variable allows easy overriding of default kde mirror service
+			# (anonsvn) with anything else you might want to use.
+			ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
+			# Split ebuild, or extragear stuff
+			if [[ -n ${KMNAME} ]]; then
+				ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
+				if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
+					KMMODULE="${PN}"
+				fi
+				# Split kde-base/ ebuilds: (they reside in trunk/KDE)
+				case ${KMNAME} in
+					kdebase-*)
+						ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
+						;;
+					kdelibs-*)
+						ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
+						;;
+					kdereview*)
+						ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+						;;
+					kdesupport)
+						ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+						ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+						;;
+					kde*)
+						ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
+						;;
+					extragear*|playground*)
+						# Unpack them in toplevel dir, so that they won't conflict with kde4-meta
+						# build packages from same svn location.
+						ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+						ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+						;;
+					koffice)
+						ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+						;;
+					*)
+						ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+						;;
+				esac
+			else
+				# kdelibs, kdepimlibs
+				ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
+				ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+			fi
+			# @ECLASS-VARIABLE: ESVN_UP_FREQ
+			# @DESCRIPTION:
+			# This variable is used for specifying the timeout between svn synces
+			# for kde-base and koffice modules. Does not affect misc apps.
+			# Default value is 1 hour.
+			[[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
+		elif has git ${INHERITED}; then
 			if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
 				KMMODULE="${PN}"
 			fi
-			# Split kde-base/ ebuilds: (they reside in trunk/KDE)
-			case ${KMNAME} in
-				kdebase-*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
-					;;
-				kdelibs-*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
-					;;
-				kdereview*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
-					;;
-				kdesupport)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
-					ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
-					;;
-				kde*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
-					;;
-				extragear*|playground*)
-					# Unpack them in toplevel dir, so that they won't conflict with kde4-meta
-					# build packages from same svn location.
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
-					ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
-					;;
-				koffice)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
-					;;
-				*)
-					ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+			case ${KDEBASE} in
+				kdevelop)
+					EGIT_REPO_URI="git://gitorious.org/${KMNAME}/${KMMODULE}.git"
 					;;
 			esac
-		else
-			# kdelibs, kdepimlibs
-			ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
-			ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
-		fi
-		# @ECLASS-VARIABLE: ESVN_UP_FREQ
-		# @DESCRIPTION:
-		# This variable is used for specifying the timeout between svn synces
-		# for kde-base and koffice modules. Does not affect misc apps.
-		# Default value is 1 hour.
-		[[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
+		fi
 		;;
 	*)
 		if [[ -n ${KDEBASE} ]]; then
@@ -392,7 +439,7 @@
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 						4.[34].[6-9]*)
 							# Repacked tarballs: need to depend on xz-utils to ensure that they can be unpacked
-							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.xz"
+							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/src/${_kmname_pv}.tar.xz"
 							DEPEND+=" app-arch/xz-utils"
 							;;
 						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
@@ -400,9 +447,13 @@
 					;;
 				koffice)
 					case ${PV} in
-						2.0.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2" ;;
+						2.1.[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
 						*) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
 					esac
+					;;
+				kdevelop)
+					SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
+					;;
 			esac
 			unset _kmname _kmname_pv
 		fi
@@ -441,7 +492,7 @@
 
 	if [[ ${KDEBASE} = kde-base ]]; then
 		if use kdeprefix; then
-			KDEDIR=/usr/kde/${_kdedir}
+			KDEDIR=/usr/kde/${SLOT}
 		else
 			KDEDIR=/usr
 		fi
@@ -481,8 +532,6 @@
 
 	# Fix XDG collision with sandbox
 	export XDG_CONFIG_HOME="${T}"
-	# Not needed anymore
-	unset _kdedir
 }
 
 # @FUNCTION: kde4-base_src_unpack
@@ -492,8 +541,12 @@
 	debug-print-function ${FUNCNAME} "$@"
 
 	if [[ ${BUILD_TYPE} = live ]]; then
-		migrate_store_dir
-		subversion_src_unpack
+		if has subversion ${INHERITED}; then
+			migrate_store_dir
+			subversion_src_unpack
+		elif has git ${INHERITED}; then
+			git_src_unpack
+		fi
 	elif [[ ${EAPI} == 2 ]]; then
 		local file
 		for file in ${A}; do
@@ -537,7 +590,14 @@
 		has handbook ${IUSE//+} && [[ ${PN} != kde-l10n ]] && [[ ${PN} != kdelibs ]] && enable_selected_doc_linguas
 	fi
 
-	[[ ${BUILD_TYPE} = live ]] && subversion_src_prepare
+	# SCM bootstrap
+	if [[ ${BUILD_TYPE} = live ]]; then
+		if has subversion ${INHERITED}; then
+			subversion_src_prepare
+		elif has git ${INHERITED}; then
+			git_src_prepare
+		fi
+	fi
 
 	# Apply patches
 	base_src_prepare
@@ -579,7 +639,7 @@
 	[[ ${PN} = kdelibs ]] && cmakeargs+=(-DKDE_DISTRIBUTION_TEXT=Gentoo)
 
 	# Here we set the install prefix
-	cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
+	tc-is-cross-compiler || cmakeargs+=(-DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}")
 
 	# Use colors
 	QTEST_COLORED=1
@@ -592,7 +652,9 @@
 		# Override some environment variables - only when kdeprefix is different,
 		# to not break ccache/distcc
 		PATH="${EKDEDIR}/bin:${PATH}"
-		LDPATH="${EKDEDIR}/$(get_libdir)${LDPATH+:}${LDPATH}"
+
+		# Append library search path
+		append-ldflags -L"${EKDEDIR}/$(get_libdir)"
 
 		# Append full RPATH
 		cmakeargs+=(-DCMAKE_SKIP_RPATH=OFF)
@@ -602,6 +664,11 @@
 		cmakeargs+=(-DCMAKE_SYSTEM_PREFIX_PATH="${EKDEDIR}")
 	fi
 
+	#qmake -query QT_INSTALL_LIBS unavailable when cross-compiling
+	tc-is-cross-compiler && cmakeargs+=(-DQT_LIBRARY_DIR=${ROOT}/usr/lib/qt4)
+	#kde-config -path data unavailable when cross-compiling
+	tc-is-cross-compiler && cmakeargs+=(-DKDE4_DATA_DIR=${ROOT}/usr/share/apps/)
+
 	# Handle kdeprefix in application itself
 	if ! has kdeprefix ${IUSE//+} || ! use kdeprefix; then
 		# If prefix is /usr, sysconf needs to be /etc, not /usr/etc
@@ -655,30 +722,25 @@
 		install_library_dependencies
 	fi
 
-	kde4-base_src_make_doc
-	cmake-utils_src_install
-}
-
-# @FUNCTION: kde4-base_src_make_doc
-# @DESCRIPTION:
-# Function for installing the documentation of KDE4 applications.
-kde4-base_src_make_doc() {
-	debug-print-function ${FUNCNAME} "$@"
-
+	# Install common documentation of KDE4 applications
 	local doc
-	for doc in AUTHORS ChangeLog* README* NEWS TODO; do
-		[[ -s ${doc} ]] && dodoc ${doc}
-	done
-
-	if [[ -z ${KMNAME} ]]; then
-		for doc in {apps,runtime,workspace,.}/*/{AUTHORS,README*}; do
-			if [[ -s ${doc} ]]; then
-				local doc_complete=${doc}
-				doc="${doc#*/}"
-				newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
-			fi
+	if ! has kde4-meta ${INHERITED}; then
+		for doc in AUTHORS ChangeLog* README* NEWS TODO HACKING; do
+			[[ -s "${S}/${doc}" ]] && dodoc "${doc}"
 		done
+		# kdelibs, kdepimlibs
+		if [[ -z ${KMNAME} ]]; then
+			for doc in "${S}"/*/{AUTHORS,ChangeLog*,README*,NEWS,TODO,HACKING}; do
+				if [[ -s "${S}/${doc}" ]]; then
+					local doc_complete=${doc}
+					doc="${doc#*/}"
+					newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
+				fi
+			done
+		fi
 	fi
+
+	cmake-utils_src_install
 }
 
 # @FUNCTION: kde4-base_pkg_postinst



1.31                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.31&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.31&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.30&r2=1.31

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- kde4-functions.eclass	2 Feb 2010 14:20:16 -0000	1.30
+++ kde4-functions.eclass	15 May 2010 15:19:04 -0000	1.31
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.30 2010/02/02 14:20:16 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.31 2010/05/15 15:19:04 reavertm Exp $
 
 inherit versionator
 
@@ -25,16 +25,15 @@
 # @DESCRIPTION:
 # This gets set to a non-zero value when a package is considered a kde or
 # koffice ebuild.
-
 if [[ ${CATEGORY} = kde-base ]]; then
 	debug-print "${ECLASS}: KDEBASE ebuild recognized"
 	KDEBASE=kde-base
-fi
-
-# is this a koffice ebuild?
-if [[ ${KMNAME} = koffice || ${PN} = koffice ]]; then
+elif [[ ${KMNAME} = koffice || ${PN} = koffice ]]; then
 	debug-print "${ECLASS}: KOFFICE ebuild recognized"
 	KDEBASE=koffice
+elif [[ ${KMNAME} = kdevelop ]]; then
+	debug-print "${ECLASS}: KDEVELOP ebuild recognized"
+	KDEBASE="kdevelop"
 fi
 
 # @ECLASS-VARIABLE: KDE_SLOTS



1.35                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.35&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.35&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.34&r2=1.35

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- kde4-meta.eclass	15 Mar 2010 03:35:39 -0000	1.34
+++ kde4-meta.eclass	15 May 2010 15:19:04 -0000	1.35
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.34 2010/03/15 03:35:39 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.35 2010/05/15 15:19:04 reavertm Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -340,6 +340,7 @@
 				kleopatra/ConfigureChecks.cmake"
 			if slot_is_at_least 4.5 ${SLOT}; then
 				KMEXTRACTONLY+="
+					CTestCustom.cmake
 					kdepim-version.h.cmake"
 			else
 				KMEXTRACTONLY+="
@@ -618,6 +619,22 @@
 					;;
 				*) ;;
 			esac
+			# koffice 2.1.[8-9][0-9] and 9999
+			case ${PV} in
+				2.1.8[0-9]|2.1.9[0-9]|9999)
+					sed -e '/^option(BUILD/s/ON/OFF/' \
+						-e '/^if(NOT BUILD_kchart/,/^endif(NOT BUILD_kchart/d' \
+						-e '/^if(BUILD_koreport/,/^endif(BUILD_koreport/d' \
+						-e 's/set(SHOULD_BUILD_F_OFFICE TRUE)/set(SHOULD_BUILD_F_OFFICE FALSE)/' \
+						-i "${S}"/CMakeLists.txt || die "sed died while fixing cmakelists"
+					if [[ ${PN} != koffice-data ]] && [[ ${PV} == 9999 ]]; then
+						sed -e '/config-opengl.h/d' \
+						-i "${S}"/CMakeLists.txt || die "sed died while fixing cmakelists"
+
+					fi
+				;;
+				*) ;;
+			esac
 	esac
 
 	popd > /dev/null
@@ -647,6 +664,18 @@
 				"${mycmakeargs[@]}"
 			)
 			;;
+		koffice)
+			case ${PV} in
+				2.1.8[0-9]|2.1.9[0-9]|9999)
+					if [[ ${PN} != "kchart" ]]; then
+						mycmakeargs=(
+							-DBUILD_koreport=OFF
+							"${mycmakeargs[@]}"
+						)
+					fi
+				;;
+			esac
+			;;
 	esac
 
 	kde4-base_src_configure
@@ -682,22 +711,13 @@
 kde4-meta_src_install() {
 	debug-print-function $FUNCNAME "$@"
 
-	kde4-base_src_install
-}
-
-# @FUNCTION: kde4-meta_src_make_doc
-# @DESCRIPTION:
-# This function searches in ${S}/${KMMODULE},
-# and tries to install "AUTHORS ChangeLog* README* NEWS TODO" if these files exist.
-kde4-meta_src_make_doc() {
-	debug-print-function ${FUNCNAME} "$@"
-
+	# Search ${S}/${KMMODULE} and install any "AUTHORS ChangeLog* README* NEWS TODO HACKING" found
 	local doc
-	for doc in AUTHORS ChangeLog* README* NEWS TODO; do
-		[[ -s ${KMMODULE}/${doc} ]] && newdoc "${KMMODULE}/${doc}" "${doc}.${KMMODULE##*/}"
+	for doc in AUTHORS ChangeLog* README* NEWS TODO HACKING; do
+		[[ -s "${S}/${KMMODULE}/${doc}" ]] && dodoc "${S}/${KMMODULE}/${doc}"
 	done
 
-	kde4-base_src_make_doc
+	kde4-base_src_install
 }
 
 # @FUNCTION: kde4-meta_pkg_postinst






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2010-09-11  4:25 Maciej Mrozowski (reavertm)
  0 siblings, 0 replies; 22+ messages in thread
From: Maciej Mrozowski (reavertm) @ 2010-09-11  4:25 UTC (permalink / raw
  To: gentoo-commits

reavertm    10/09/11 04:25:24

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Remove repacked unstable snapshots handling codepaths, add kdepim-4.4.6 dependency rule

Revision  Changes    Path
1.70                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.70&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.70&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.69&r2=1.70

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- kde4-base.eclass	9 Sep 2010 17:02:30 -0000	1.69
+++ kde4-base.eclass	11 Sep 2010 04:25:23 -0000	1.70
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.69 2010/09/09 17:02:30 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.70 2010/09/11 04:25:23 reavertm Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -479,15 +479,14 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
-						4.[45].8[05] | 4.[45].9[02568])
-							# Normally packed unstable releases
-							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
-						4.[45].[6-9]*)
-							# Repacked tarballs: need to depend on xz-utils to ensure that they can be unpacked
-							SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/src/${_kmname_pv}.tar.xz"
-							DEPEND+=" app-arch/xz-utils"
+						4.[456].8[05] | 4.[456].9[023568])
+							# Unstable KDE SC releases
+							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
+							;;
+						*)
+							# Stable KDE SC releases
+							SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
 							;;
-						*)	SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
 					esac
 					;;
 				koffice)



1.35                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.35&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.35&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.34&r2=1.35

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- kde4-functions.eclass	9 Sep 2010 17:02:30 -0000	1.34
+++ kde4-functions.eclass	11 Sep 2010 04:25:23 -0000	1.35
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.34 2010/09/09 17:02:30 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.35 2010/09/11 04:25:23 reavertm Exp $
 
 inherit versionator
 
@@ -518,8 +518,15 @@
 	local use=${2:+,${2}}
 
 	if [[ ${KDEBASE} = kde-base ]]; then
-		echo " !kdeprefix? ( >=kde-base/${1}-${PV}[aqua=,-kdeprefix${use}] )"
-		echo " kdeprefix? ( >=kde-base/${1}-${PV}:${SLOT}[aqua=,kdeprefix${use}] )"
+		# FIXME remove hack when kdepim-4.4.6 is gone
+		local FIXME_PV
+		if [[ ${KMNAME} = kdepim || ${PN} = kdepim-runtime ]] && [[ ${PV} = 4.4.6* ]] && [[ ${1} = kdelibs || ${1} = kdepimlibs ]]; then
+			FIXME_PV=4.4.5
+		else
+			FIXME_PV=${PV}
+		fi
+		echo " !kdeprefix? ( >=kde-base/${1}-${FIXME_PV}[aqua=,-kdeprefix${use}] )"
+		echo " kdeprefix? ( >=kde-base/${1}-${FIXME_PV}:${SLOT}[aqua=,kdeprefix${use}] )"
 	else
 		if [[ ${KDE_MINIMAL} = live ]]; then
 			echo " kde-base/${1}:${KDE_MINIMAL}[aqua=${use}]"



1.40                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.40&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.40&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.39&r2=1.40

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- kde4-meta.eclass	9 Aug 2010 15:59:04 -0000	1.39
+++ kde4-meta.eclass	11 Sep 2010 04:25:23 -0000	1.40
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.39 2010/08/09 15:59:04 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.40 2010/09/11 04:25:23 reavertm Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -203,16 +203,11 @@
 	else
 		local abort tarball tarfile f extractlist moduleprefix postfix
 		case ${PV} in
-			4.[45].8[05] | 4.[45].9[02568])
-				# block for normally packed upstream unstable snapshots
+			4.[45].8[05] | 4.[45].9[023568])
+				# Block for normally packed upstream unstable snapshots
 				KMTARPARAMS+=" --bzip2" # bz2
 				postfix="bz2"
 				;;
-			4.[45].[6-9]*)
-				# Not passing --xz, as it doesn't work with stable tar
-				KMTARPARAMS+=" --use-compress-program=xz" # xz
-				postfix="xz"
-				;;
 			*)
 				KMTARPARAMS+=" --bzip2" # bz2
 				postfix="bz2"






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2010-12-02 21:49 Alexey Shvetsov (alexxy)
  0 siblings, 0 replies; 22+ messages in thread
From: Alexey Shvetsov (alexxy) @ 2010-12-02 21:49 UTC (permalink / raw
  To: gentoo-commits

alexxy      10/12/02 21:49:54

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Update eclasses for kde

Revision  Changes    Path
1.78                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.78&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.78&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.77&r2=1.78

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- kde4-base.eclass	24 Nov 2010 23:54:55 -0000	1.77
+++ kde4-base.eclass	2 Dec 2010 21:49:54 -0000	1.78
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.77 2010/11/24 23:54:55 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.78 2010/12/02 21:49:54 alexxy Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -13,7 +13,20 @@
 # NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
 # eclass will fail with version older than 2.
 
-inherit kde4-functions base eutils
+# @ECLASS-VARIABLE: VIRTUALX_REQUIRED
+# @DESCRIPTION:
+#  Do we need an X server? Valid values are "always", "optional", and "manual".
+#  "tests" is a synonym for "optional". While virtualx.eclass supports in principle
+#  also the use of an X server during other ebuild phases, we only use it in
+#  src_test here. Most likely you'll want to set "optional", which introduces the
+#  use-flag "test" (if not already present), adds dependencies conditional on that
+#  use-flag, and automatically runs (only) the ebuild test phase with a virtual X server
+#  present. This makes things a lot more comfortable than the bare virtualx eclass.
+
+# In case the variable is not set in the ebuild, let virtualx eclass not do anything
+: ${VIRTUALX_REQUIRED:=manual}
+
+inherit kde4-functions base virtualx eutils
 
 get_build_type
 if [[ ${BUILD_TYPE} = live ]]; then
@@ -113,6 +126,18 @@
 unset buildsystem_eclass
 unset export_fns
 
+# @ECLASS-VARIABLE: DECLARATIVE_REQUIRED
+# @DESCRIPTION:
+# Is qt-declarative required? Possible values are 'always', 'optional' and 'never'.
+# This variable must be set before inheriting any eclasses. Defaults to 'never'.
+DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}"
+
+# @ECLASS-VARIABLE: QTHELP_REQUIRED
+# @DESCRIPTION:
+# Is qt-assistant required? Possible values are 'always', 'optional' and 'never'.
+# This variable must be set before inheriting any eclasses. Defaults to 'never'.
+QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}"
+
 # @ECLASS-VARIABLE: OPENGL_REQUIRED
 # @DESCRIPTION:
 # Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
@@ -192,13 +217,46 @@
 # @ECLASS-VARIABLE: QT_MINIMAL
 # @DESCRIPTION:
 # Determine version of qt we enforce as minimal for the package. 4.4.0 4.5.1...
-# 4.6.0 for 4.4 and 4.6.3 for 4.5 and later
-if slot_is_at_least 4.5 "${KDE_MINIMAL}"; then
+# 4.6.0 for 4.4, 4.6.3 for 4.5, and 4.7.0 for 4.6 and later
+if slot_is_at_least 4.6 "${KDE_MINIMAL}"; then
+	QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
+elif slot_is_at_least 4.5 "${KDE_MINIMAL}"; then
 	QT_MINIMAL="${QT_MINIMAL:-4.6.3}"
 else
 	QT_MINIMAL="${QT_MINIMAL:-4.6.0}"
 fi
 
+# Declarative dependencies
+qtdeclarativedepend="
+	>=x11-libs/qt-declarative-${QT_MINIMAL}:4
+"
+case ${DECLARATIVE_REQUIRED} in
+	always)
+		COMMONDEPEND+=" ${qtdeclarativedepend}"
+		;;
+	optional)
+		IUSE+=" declarative"
+		COMMONDEPEND+=" declarative? ( ${qtdeclarativedepend} )"
+		;;
+	*) ;;
+esac
+unset qtdeclarativedepend
+
+# QtHelp dependencies
+qthelpdepend="
+	>=x11-libs/qt-assistant-${QT_MINIMAL}:4
+"
+case ${QTHELP_REQUIRED} in
+	always)
+		COMMONDEPEND+=" ${qthelpdepend}"
+		;;
+	optional)
+		IUSE+=" qthelp"
+		COMMONDEPEND+=" qthelp? ( ${qthelpdepend} )"
+		;;
+esac
+unset qthelpdepend
+
 # OpenGL dependencies
 qtopengldepend="
 	>=x11-libs/qt-opengl-${QT_MINIMAL}:4
@@ -454,7 +512,7 @@
 			fi
 			case ${KDEBASE} in
 				kdevelop)
-					EGIT_REPO_URI="git://gitorious.org/${KMNAME}/${KMMODULE}.git"
+					EGIT_REPO_URI="git://git.kde.org/${KMMODULE}"
 					;;
 			esac
 		fi
@@ -656,8 +714,27 @@
 		load_library_dependencies
 	fi
 
+	# Replace KDE4Workspace library targets
+	find "${S}" -name CMakeLists.txt \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' {} + \
+		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' {} + \
+		|| die 'failed to replace KDE4Workspace library targets'
+
 	# Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...
-	if [ -z ${KDEBASE} ]; then 
+	if [[ -z ${KDEBASE} ]]; then
 		find "${S}" -name "*.docbook" \
 			-exec sed -i -r \
 				-e 's:-//KDE//DTD DocBook XML V4\.1(\..)?-Based Variant V1\.[01]//EN:-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN:g' {} + \
@@ -755,7 +832,21 @@
 	cmake-utils_src_configure
 	kde4-base_src_compile
 
-	cmake-utils_src_test
+	if [[ ${VIRTUALX_REQUIRED} == always ]] ||
+		( [[ ${VIRTUALX_REQUIRED} != manual ]] && use test ); then
+
+		if [[ ${maketype} ]]; then
+			# surprise- we are already INSIDE virtualmake!!!
+			ewarn "QA Notice: This version of kde4-base.eclass includes the virtualx functionality."
+			ewarn "           You may NOT set maketype or call virtualmake from the ebuild. Applying workaround."
+			cmake-utils_src_test
+		else
+			export maketype="cmake-utils_src_test"
+			virtualmake
+		fi
+	else
+		cmake-utils_src_test
+	fi
 }
 
 # @FUNCTION: kde4-base_src_install



1.37                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.37&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.37&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.36&r2=1.37

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- kde4-functions.eclass	24 Oct 2010 15:56:03 -0000	1.36
+++ kde4-functions.eclass	2 Dec 2010 21:49:54 -0000	1.37
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.36 2010/10/24 15:56:03 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.37 2010/12/02 21:49:54 alexxy Exp $
 
 inherit versionator
 
@@ -136,7 +136,7 @@
 enable_selected_linguas() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	local lingua linguas sr_mess wp
+	local x
 
 	# if there is no linguas defined we enable everything
 	if ! $(env | grep -q "^LINGUAS="); then
@@ -146,49 +146,18 @@
 	# @ECLASS-VARIABLE: KDE_LINGUAS_DIR
 	# @DESCRIPTION:
 	# Specified folder where application translations are located.
-	KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:="po"}
-	[[ -d  "${KDE_LINGUAS_DIR}" ]] || die "wrong linguas dir specified"
-	comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
-	pushd "${KDE_LINGUAS_DIR}" > /dev/null
-
-	# fix all various crazy sr@Latn variations
-	# this part is only ease for ebuilds, so there wont be any die when this
-	# fail at any point
-	sr_mess="sr@latn sr@latin sr@Latin"
-	for wp in ${sr_mess}; do
-		[[ -e "${wp}.po" ]] && mv "${wp}.po" "sr@Latn.po"
-		if [[ -d "${wp}" ]]; then
-			# move dir and fix cmakelists
-			mv "${wp}" "sr@Latn"
-			sed -i \
-				-e "s:${wp}:sr@Latin:g" \
-				CMakeLists.txt
-		fi
-	done
-
-	for lingua in ${KDE_LINGUAS}; do
-		if [[ -e "${lingua}.po" ]]; then
-			mv "${lingua}.po" "${lingua}.po.old"
-		fi
-	done
-
-	for lingua in ${KDE_LINGUAS}; do
-		if use linguas_${lingua} ; then
-			if [[ -d "${lingua}" ]]; then
-				linguas="${linguas} ${lingua}"
-				sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
-					-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
-					-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
-			fi
-			if [[ -e "${lingua}.po.old" ]]; then
-				linguas="${linguas} ${lingua}"
-				mv "${lingua}.po.old" "${lingua}.po"
-			fi
-		fi
-	done
-	[[ -n "${linguas}" ]] && einfo "Enabling languages: ${linguas}"
-
-	popd > /dev/null
+	# Can be defined as array of folders where translations are located.
+	# Note that space separated list of dirs is not supported.
+	# Default value is set to "po".
+	if [[ "$(declare -p KDE_LINGUAS_DIR 2>/dev/null 2>&1)" == "declare -a"* ]]; then
+		debug-print "$FUNCNAME: we have these subfolders defined: ${KDE_LINGUAS_DIR}"
+		for x in "${KDE_LINGUAS_DIR[@]}"; do
+			_enable_selected_linguas_dir ${x}
+		done
+	else
+		KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:="po"}
+		_enable_selected_linguas_dir ${KDE_LINGUAS_DIR}
+	fi
 }
 
 # @FUNCTION: enable_selected_doc_linguas
@@ -388,6 +357,52 @@
 	RDEPEND+=" $(_do_blocker "$@")"
 }
 
+# @FUNCTION: add_kdebase_dep
+# @DESCRIPTION:
+# Create proper dependency for kde-base/ dependencies,
+# adding SLOT when needed (and *only* when needed).
+# This takes 1 or 2 arguments.  The first being the package
+# name, the optional second, is additional USE flags to append.
+# The output of this should be added directly to DEPEND/RDEPEND, and
+# may be wrapped in a USE conditional (but not an || conditional
+# without an extra set of parentheses).
+add_kdebase_dep() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	[[ -z ${1} ]] && die "Missing parameter"
+
+	local use=${2:+,${2}}
+
+	if [[ ${KDEBASE} = kde-base ]]; then
+		# FIXME remove hack when kdepim-4.4.{6,7} is gone
+		local FIXME_PV
+		if [[ ${KMNAME} = kdepim || ${PN} = kdepim-runtime ]] && [[ ${PV} = 4.4.6* || ${PV} = 4.4.7* ]] && [[ ${1} = kdelibs || ${1} = kdepimlibs ]]; then
+			FIXME_PV=4.4.5
+		else
+			FIXME_PV=${PV}
+		fi
+
+		# if building stable-live version depend just on slot
+		# to allow merging packages against more stable basic stuff
+		case ${PV} in
+			*.9999*)
+				echo " !kdeprefix? ( >=kde-base/${1}-${SLOT}[aqua=,-kdeprefix${use}] )"
+				echo " kdeprefix? ( >=kde-base/${1}-${SLOT}:${SLOT}[aqua=,kdeprefix${use}] )"
+				;;
+			*)
+				echo " !kdeprefix? ( >=kde-base/${1}-${FIXME_PV}[aqua=,-kdeprefix${use}] )"
+				echo " kdeprefix? ( >=kde-base/${1}-${FIXME_PV}:${SLOT}[aqua=,kdeprefix${use}] )"
+				;;
+		esac
+	else
+		if [[ ${KDE_MINIMAL} = live ]]; then
+			echo " kde-base/${1}:${KDE_MINIMAL}[aqua=${use}]"
+		else
+			echo " >=kde-base/${1}-${KDE_MINIMAL}[aqua=${use}]"
+		fi
+	fi
+}
+
 # _greater_max_in_slot ver slot
 # slot must be 4.x or live
 # returns true if ver is >= the maximum possibile version in slot
@@ -501,37 +516,52 @@
 	fi
 }
 
-# @FUNCTION: add_kdebase_dep
-# @DESCRIPTION:
-# Create proper dependency for kde-base/ dependencies,
-# adding SLOT when needed (and *only* when needed).
-# This takes 1 or 2 arguments.  The first being the package
-# name, the optional second, is additional USE flags to append.
-# The output of this should be added directly to DEPEND/RDEPEND, and
-# may be wrapped in a USE conditional (but not an || conditional
-# without an extra set of parentheses).
-add_kdebase_dep() {
-	debug-print-function ${FUNCNAME} "$@"
+# local function to enable specified translations for specified directory
+# used from kde4-functions_enable_selected_linguas function
+_enable_selected_linguas_dir() {
+	local lingua linguas sr_mess wp
+	local dir=${1}
 
-	[[ -z ${1} ]] && die "Missing parameter"
+	[[ -d  "${dir}" ]] || die "linguas dir \"${dir}\" does not exist"
+	comment_all_add_subdirectory "${dir}"
+	pushd "${dir}" > /dev/null
 
-	local use=${2:+,${2}}
+	# fix all various crazy sr@Latn variations
+	# this part is only ease for ebuilds, so there wont be any die when this
+	# fail at any point
+	sr_mess="sr@latn sr@latin sr@Latin"
+	for wp in ${sr_mess}; do
+		[[ -e "${wp}.po" ]] && mv "${wp}.po" "sr@Latn.po"
+		if [[ -d "${wp}" ]]; then
+			# move dir and fix cmakelists
+			mv "${wp}" "sr@Latn"
+			sed -i \
+				-e "s:${wp}:sr@Latin:g" \
+				CMakeLists.txt
+		fi
+	done
 
-	if [[ ${KDEBASE} = kde-base ]]; then
-		# FIXME remove hack when kdepim-4.4.{6,7} is gone
-		local FIXME_PV
-		if [[ ${KMNAME} = kdepim || ${PN} = kdepim-runtime ]] && [[ ${PV} = 4.4.6* || ${PV} = 4.4.7* ]] && [[ ${1} = kdelibs || ${1} = kdepimlibs ]]; then
-			FIXME_PV=4.4.5
-		else
-			FIXME_PV=${PV}
+	for lingua in ${KDE_LINGUAS}; do
+		if [[ -e "${lingua}.po" ]]; then
+			mv "${lingua}.po" "${lingua}.po.old"
 		fi
-		echo " !kdeprefix? ( >=kde-base/${1}-${FIXME_PV}[aqua=,-kdeprefix${use}] )"
-		echo " kdeprefix? ( >=kde-base/${1}-${FIXME_PV}:${SLOT}[aqua=,kdeprefix${use}] )"
-	else
-		if [[ ${KDE_MINIMAL} = live ]]; then
-			echo " kde-base/${1}:${KDE_MINIMAL}[aqua=${use}]"
-		else
-			echo " >=kde-base/${1}-${KDE_MINIMAL}[aqua=${use}]"
+	done
+
+	for lingua in ${KDE_LINGUAS}; do
+		if use linguas_${lingua} ; then
+			if [[ -d "${lingua}" ]]; then
+				linguas="${linguas} ${lingua}"
+				sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
+					-e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
+					-i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
+			fi
+			if [[ -e "${lingua}.po.old" ]]; then
+				linguas="${linguas} ${lingua}"
+				mv "${lingua}.po.old" "${lingua}.po"
+			fi
 		fi
-	fi
+	done
+	[[ -n "${linguas}" ]] && echo ">>> Enabling languages: ${linguas}"
+
+	popd > /dev/null
 }



1.44                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.44&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.44&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.43&r2=1.44

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- kde4-meta.eclass	15 Sep 2010 11:06:33 -0000	1.43
+++ kde4-meta.eclass	2 Dec 2010 21:49:54 -0000	1.44
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.43 2010/09/15 11:06:33 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.44 2010/12/02 21:49:54 alexxy Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -356,16 +356,23 @@
 			;;
 		koffice)
 			KMEXTRACTONLY+="
-				config-endian.h.cmake
 				filters/config-filters.h.cmake
-				config-openexr.h.cmake
-				config-opengl.h.cmake
-				config-prefix.h.cmake
 			"
 			case ${PV} in
 				2.0.*)
 					KMEXTRACTONLY+="
-						config-openctl.h.cmake"
+						config-openctl.h.cmake
+						config-endian.h.cmake
+						config-openexr.h.cmake
+						config-opengl.h.cmake
+						config-prefix.h.cmake"
+				;;
+				2.[12].*)
+					KMEXTRACTONLY+="
+						config-endian.h.cmake
+						config-openexr.h.cmake
+						config-opengl.h.cmake
+						config-prefix.h.cmake"
 				;;
 			esac
 			;;






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2010-12-29 17:06 Theo Chatzimichos (tampakrap)
  0 siblings, 0 replies; 22+ messages in thread
From: Theo Chatzimichos (tampakrap) @ 2010-12-29 17:06 UTC (permalink / raw
  To: gentoo-commits

tampakrap    10/12/29 17:06:51

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Add eclass support for kdepim 4.6beta3
  This commit is useless for in tree eclasses, as this kdepim version will stay in overlay
  I'm just syncing tree and overlay eclasses

Revision  Changes    Path
1.81                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.81&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.81&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.80&r2=1.81

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- kde4-base.eclass	29 Dec 2010 16:45:19 -0000	1.80
+++ kde4-base.eclass	29 Dec 2010 17:06:51 -0000	1.81
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.80 2010/12/29 16:45:19 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.81 2010/12/29 17:06:51 tampakrap Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -533,6 +533,10 @@
 			case ${KDEBASE} in
 				kde-base)
 					case ${PV} in
+						4.5.93)
+							# Only kdepim and kdepim-runtime 4.6beta here
+							SRC_URI="mirror://kde/unstable/kdepim/${PV}/${_kmname}-4.6beta3.tar.bz2"
+							;;
 						4.[456].8[05] | 4.[456].9[023568])
 							# Unstable KDE SC releases
 							SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"



1.40                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.40&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.40&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.39&r2=1.40

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- kde4-functions.eclass	29 Dec 2010 16:45:19 -0000	1.39
+++ kde4-functions.eclass	29 Dec 2010 17:06:51 -0000	1.40
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.39 2010/12/29 16:45:19 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.40 2010/12/29 17:06:51 tampakrap Exp $
 
 inherit versionator
 
@@ -381,6 +381,12 @@
 		else
 			FIXME_PV=${PV}
 		fi
+		# FIXME remove hack when kdepim-4.6beta is gone
+		if [[ ${KMNAME} = kdepim || ${PN} = kdepim-runtime ]] && [[ ${PV} = 4.5.93* ]] && [[ ${1} = kdelibs || ${1} = kdepimlibs ]]; then
+			FIXME_PV=4.5.90
+		else
+			FIXME_PV=${PV}
+		fi
 
 		# if building stable-live version depend just on slot
 		# to allow merging packages against more stable basic stuff



1.46                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.46&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.46&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.45&r2=1.46

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- kde4-meta.eclass	29 Dec 2010 16:38:50 -0000	1.45
+++ kde4-meta.eclass	29 Dec 2010 17:06:51 -0000	1.46
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.45 2010/12/29 16:38:50 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.46 2010/12/29 17:06:51 tampakrap Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -220,6 +220,11 @@
 				moduleprefix=apps/
 				KMTARPARAMS+=" --transform=s|apps/||"
 				;;
+			kdepim)
+				if [[ ${PV} == 4.5.93 ]] ; then
+					tarball="kdepim-4.6beta3.tar.${postfix}"
+				fi
+				;;
 			*)
 				# Create tarball name from module name (this is the default)
 				tarball="${KMNAME}-${PV}.tar.${postfix}"






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2011-06-06 17:51 Jonathan Callen (abcd)
  0 siblings, 0 replies; 22+ messages in thread
From: Jonathan Callen (abcd) @ 2011-06-06 17:51 UTC (permalink / raw
  To: gentoo-commits

abcd        11/06/06 17:51:27

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Sync kde eclasses from overlay

Revision  Changes    Path
1.94                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.94&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.94&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.93&r2=1.94

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- kde4-base.eclass	23 May 2011 22:56:36 -0000	1.93
+++ kde4-base.eclass	6 Jun 2011 17:51:26 -0000	1.94
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.93 2011/05/23 22:56:36 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.94 2011/06/06 17:51:26 abcd Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -133,12 +133,6 @@
 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
 MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}"
 
-# @ECLASS-VARIABLE: WEBKIT_REQUIRED
-# @DESCRIPTION:
-# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
-# This variable must be set before inheriting any eclasses. Defaults to 'never'.
-WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
-
 # @ECLASS-VARIABLE: CPPUNIT_REQUIRED
 # @DESCRIPTION:
 # Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
@@ -280,32 +274,6 @@
 esac
 unset qtmultimediadepend
 
-# WebKit dependencies
-case ${KDE_REQUIRED} in
-	always)
-		qtwebkitusedeps="[kde]"
-		;;
-	optional)
-		qtwebkitusedeps="[kde?]"
-		;;
-	*) ;;
-esac
-qtwebkitdepend="
-	>=x11-libs/qt-webkit-${QT_MINIMAL}:4${qtwebkitusedeps}
-"
-unset qtwebkitusedeps
-case ${WEBKIT_REQUIRED} in
-	always)
-		COMMONDEPEND+=" ${qtwebkitdepend}"
-		;;
-	optional)
-		IUSE+=" webkit"
-		COMMONDEPEND+=" webkit? ( ${qtwebkitdepend} )"
-		;;
-	*) ;;
-esac
-unset qtwebkitdepend
-
 # CppUnit dependencies
 cppuintdepend="
 	dev-util/cppunit
@@ -322,6 +290,17 @@
 esac
 unset cppuintdepend
 
+
+# WebKit use dependencies
+case ${KDE_REQUIRED} in
+	always)
+		qtwebkitusedeps="[kde]"
+		;;
+	optional)
+		qtwebkitusedeps="[kde?]"
+		;;
+	*) ;;
+esac
 # KDE dependencies
 # Qt accessibility classes are needed in various places, bug 325461
 kdecommondepend="
@@ -333,6 +312,7 @@
 	>=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support]
 	>=x11-libs/qt-svg-${QT_MINIMAL}:4
 	>=x11-libs/qt-test-${QT_MINIMAL}:4
+	>=x11-libs/qt-webkit-${QT_MINIMAL}:4${qtwebkitusedeps}
 	!aqua? (
 		x11-libs/libXext
 		x11-libs/libXt
@@ -601,9 +581,12 @@
 				*)
 					# set EGIT_BRANCH and EGIT_COMMIT to ${SLOT}
 					case ${_kmname} in
-						kdeplasma-addons | kdepim | kdepim-runtime | kdepimlibs)
+						kdeplasma-addons | kdepim | kdepim-runtime | kdepimlibs | okular)
 							EGIT_BRANCH="${SLOT}"
 							;;
+						marble)
+							EGIT_BRANCH="kde-${SLOT}"
+							;;
 						*) EGIT_BRANCH="KDE/${SLOT}" ;;
 					esac
 					;;



1.49                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.49&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.49&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.48&r2=1.49

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- kde4-functions.eclass	24 May 2011 20:54:58 -0000	1.48
+++ kde4-functions.eclass	6 Jun 2011 17:51:26 -0000	1.49
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.48 2011/05/24 20:54:58 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.49 2011/06/06 17:51:26 abcd Exp $
 
 inherit versionator
 
@@ -79,6 +79,9 @@
 			KDE_SCM="git"
 			EGIT_REPONAME=${EGIT_REPONAME:=kde-baseapps}
 		;;
+		kde-workspace|kde-runtime|kde-baseapps)
+			KDE_SCM="git"
+		;;
 	esac
 fi
 



1.53                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.53&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.53&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.52&r2=1.53

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- kde4-meta.eclass	1 May 2011 13:52:09 -0000	1.52
+++ kde4-meta.eclass	6 Jun 2011 17:51:26 -0000	1.53
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.52 2011/05/01 13:52:09 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.53 2011/06/06 17:51:26 abcd Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -21,7 +21,7 @@
 
 # Add dependencies that all packages in a certain module share.
 case ${KMNAME} in
-	kdebase|kdebase-apps|kdebase-workspace|kdebase-runtime|kdegraphics)
+	kdebase|kdebase-apps|kde-baseapps|kdebase-workspace|kde-workspace|kdebase-runtime|kde-runtime|kdegraphics)
 		COMMONDEPEND+=" >=media-libs/qimageblitz-0.0.4"
 		;;
 	kdepim|kdepim-runtime)
@@ -239,8 +239,7 @@
 
 		kde4-meta_create_extractlists
 
-		for f in cmake/ CMakeLists.txt ConfigureChecks.cmake config.h.cmake \
-			AUTHORS COPYING INSTALL README NEWS ChangeLog
+		for f in cmake/ CMakeLists.txt ConfigureChecks.cmake config.h.cmake
 		do
 			extractlist+=" ${topdir}${moduleprefix}${f}"
 		done
@@ -261,7 +260,9 @@
 		fi
 
 		# Default $S is based on $P; rename the extracted directory to match $S if necessary
-		mv ${topdir} ${P} || die "Died while moving \"${topdir}\" to \"${P}\""
+		if [[ ${KMNAME} != ${PN} ]]; then
+			mv ${topdir} ${P} || die "Died while moving \"${topdir}\" to \"${P}\""
+		fi
 
 		popd > /dev/null
 
@@ -322,16 +323,16 @@
 					ConfigureChecks.cmake"
 			fi
 			;;
-		kdebase-apps)
+		kdebase-apps | kde-baseapps)
 			KMEXTRACTONLY+="
 				config-apps.h.cmake
 				ConfigureChecks.cmake"
 			;;
-		kdebase-runtime)
+		kdebase-runtime | kde-runtime)
 			KMEXTRACTONLY+="
 				config-runtime.h.cmake"
 			;;
-		kdebase-workspace)
+		kdebase-workspace | kde-workspace)
 			KMEXTRACTONLY+="
 				config-unix.h.cmake
 				ConfigureChecks.cmake
@@ -392,7 +393,7 @@
 	#   should not try in that case
 	if [[ ${KMNAME} != kdegraphics ]] || { [[ ${SLOT} != 4.6 || ${PV} < 4.6.2 ]] && ! slot_is_at_least 4.7 ${SLOT}; }; then
 		case ${KMNAME} in
-			kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics)
+			kdebase-runtime|kde-runtime|kdebase-workspace|kde-workspace|kdeedu|kdegames|kdegraphics)
 				case ${PN} in
 					libkdegames|libkdeedu|libkworkspace)
 						KMEXTRA+="
@@ -560,7 +561,7 @@
 	done
 
 	case ${KMNAME} in
-		kdebase-workspace)
+		kdebase-workspace | kde-workspace)
 			# COLLISION PROTECT section
 			# Install the startkde script just once, as a part of kde-base/kdebase-startkde,
 			# not as a part of every package.
@@ -575,7 +576,7 @@
 					-i CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section"
 			fi
 			;;
-		kdebase-runtime)
+		kdebase-runtime | kde-runtime)
 			# COLLISION PROTECT section
 			# Only install the kde4 script as part of kde-base/kdebase-data
 			if [[ ${PN} != kdebase-data && -f CMakeLists.txt ]]; then






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2011-06-15  0:11 Jonathan Callen (abcd)
  0 siblings, 0 replies; 22+ messages in thread
From: Jonathan Callen (abcd) @ 2011-06-15  0:11 UTC (permalink / raw
  To: gentoo-commits

abcd        11/06/15 00:11:05

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  Sync eclasses from overlay

Revision  Changes    Path
1.99                 eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.99&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.99&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.98&r2=1.99

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -r1.98 -r1.99
--- kde4-base.eclass	9 Jun 2011 21:05:45 -0000	1.98
+++ kde4-base.eclass	15 Jun 2011 00:11:05 -0000	1.99
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.98 2011/06/09 21:05:45 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.99 2011/06/15 00:11:05 abcd Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -572,6 +572,9 @@
 						kdeplasma-addons | kdepim | kdepim-runtime | kdepimlibs | okular)
 							EGIT_BRANCH="$(get_kde_version)"
 							;;
+						kdeedu)
+							EGIT_BRANCH="$(get_kde_version)"
+							;;
 						marble)
 							EGIT_BRANCH="kde-$(get_kde_version)"
 							;;
@@ -580,7 +583,14 @@
 					;;
 			esac
 
-			EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
+			# default repo uri
+			case ${_kmname} in
+				kdeedu)
+					EGIT_REPO_URI="${EGIT_MIRROR}/${PN}"
+					;;
+				*)
+					EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
+			esac
 
 			debug-print "${FUNCNAME}: Repository: ${EGIT_REPO_URI}"
 			debug-print "${FUNCNAME}: Branch: ${EGIT_BRANCH}"



1.52                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.52&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.52&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.51&r2=1.52

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- kde4-functions.eclass	7 Jun 2011 20:11:04 -0000	1.51
+++ kde4-functions.eclass	15 Jun 2011 00:11:05 -0000	1.52
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.51 2011/06/07 20:11:04 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.52 2011/06/15 00:11:05 abcd Exp $
 
 inherit versionator
 
@@ -120,26 +120,24 @@
 	# We no longer need to run kbuildsycoca4, as kded does that automatically, as needed
 
 	# fix permission for some directories
-	for x in share/{config,kde4}; do
-		[[ ${KDEDIR} == /usr ]] && DIRS=${EROOT}usr || DIRS="${EROOT}usr ${EROOT}${KDEDIR}"
-		for y in ${DIRS}; do
-			[[ -d "${y}/${x}" ]] || break # nothing to do if directory does not exist
-			# fixes Bug 318237
-			if use userland_BSD ; then
-				[[ $(stat -f %p "${y}/${x}") != 40755 ]]
-				local stat_rtn="$?"
-			else
-				[[ $(stat --format=%a "${y}/${x}") != 755 ]]
-				local stat_rtn=$?
-			fi
-			if [[ $stat_rtn != 1 ]] ; then
-				ewarn "QA Notice:"
-				ewarn "Package ${PN} is breaking ${y}/${x} permissions."
-				ewarn "Please report this issue to gentoo bugzilla."
-				einfo "Permissions will get adjusted automatically now."
-				find "${y}/${x}" -type d -print0 | xargs -0 chmod 755
-			fi
-		done
+	for x in usr/share/{config,kde4}; do
+		DIRS=${EROOT}usr
+		[[ -d "${EROOT}${x}" ]] || break # nothing to do if directory does not exist
+		# fixes Bug 318237
+		if use userland_BSD ; then
+			[[ $(stat -f %p "${EROOT}${x}") != 40755 ]]
+			local stat_rtn="$?"
+		else
+			[[ $(stat --format=%a "${EROOT}${x}") != 755 ]]
+			local stat_rtn=$?
+		fi
+		if [[ $stat_rtn != 1 ]] ; then
+			ewarn "QA Notice:"
+			ewarn "Package ${PN} is breaking ${EROOT}${x} permissions."
+			ewarn "Please report this issue to gentoo bugzilla."
+			einfo "Permissions will get adjusted automatically now."
+			find "${EROOT}${x}" -type d -print0 | xargs -0 chmod 755
+		fi
 	done
 }
 
@@ -344,8 +342,15 @@
 # Create blocks for the current package in other slots
 block_other_slots() {
 	debug-print-function ${FUNCNAME} "$@"
+	local slot
 
-	_do_blocker ${PN} 0:${SLOT}
+	# Temporary HACK, remove this function after slotmove
+	# (moved from _do_blocker, as this only needs a very specialized listing)
+	for slot in "${KDE_SLOTS[@]}" "${KDE_LIVE_SLOTS[@]}"; do
+		if [[ ${slot} != ${SLOT} ]]; then
+			echo " !kde-base/${PN}:${slot}"
+		fi
+	done
 }
 
 # @FUNCTION: add_blocker
@@ -354,26 +359,21 @@
 # Useful for file-collision blocks.
 # Parameters are package and version(s) to block.
 # add_blocker kdelibs 4.2.4
-# If no version is specified, then all versions will be blocked
-# If any arguments (from 2 on) contain a ":", then different versions
-# are blocked in different slots. (Unlisted slots get the version without
-# a ":", if none, then all versions are blocked). The parameter is then of
-# the form VERSION:SLOT.  Any VERSION of 0 means that no blocker will be
-# added for that slot (or, if no slot, then for any unlisted slot).
-# A parameter of the form :SLOT means to block all versions from that slot.
-# If VERSION begins with "<", then "!<foo" will be used instead of "!<=foo".
-# As a special case, if a parameter with slot "3.5" is passed, then that slot
-# may also be blocked.
+# If no version is specified, then all versions will be blocked.
+# If the version is 0, then no versions will be blocked.
+# If a second version ending in ":3.5" is passed, then the version listed for
+# that slot will be blocked as well.
+#
+# Examples:
+#    # Block all versions of kdelibs
+#    add_blocker kdelibs
 #
-# Versions that match "4.x.50" are equivalent to all slots up to (and including)
-# "4.x", but nothing following slot "4.x"
+#    # Block all versions of kdelibs older than 4.3.50
+#    add_blocker kdelibs 4.3.50
 #
-# As an example, if SLOT=live, then
-#    add_blocker kdelibs 0 :4.3 '<4.3.96:4.4' 9999:live
-# will add the following to RDEPEND:
-#    !kde-base/kdelibs:4.3
-#    !<kde-base/kdelibs-4.3.96:4.4
-#    !<=kde-base/kdelibs-9999:live
+#    # Block kdelibs 3.5.10 and older, but not any version of
+#    # kdelibs from KDE 4
+#    add_blocker kdelibs 0 3.5.10:3.5
 add_blocker() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -401,12 +401,6 @@
 		ver=${KDE_OVERRIDE_MINIMAL}
 	elif [[ ${KDEBASE} != kde-base ]]; then
 		ver=${KDE_MINIMAL}
-	# FIXME remove hack when kdepim-4.4.* is gone
-	elif [[ ( ${KMNAME} == kdepim || ${PN} == kdepim-runtime ) && $(get_kde_version) == 4.4 && ${1} =~ ^(kde(pim)?libs|oxygen-icons)$ ]]; then
-		ver=4.4.5
-	# FIXME remove hack when kdepim-4.6beta is gone
-	elif [[ ( ${KMNAME} == kdepim || ${PN} == kdepim-runtime ) && ${PV} == 4.5.98 && ${1} =~ ^(kde(pim)?libs|oxygen-icons)$ ]]; then
-		ver=4.5.90
 	# if building stable-live version depend just on slot
 	# to allow merging packages against more stable basic stuff
 	elif [[ ${PV} == *.9999 ]]; then
@@ -417,13 +411,7 @@
 
 	[[ -z ${1} ]] && die "Missing parameter"
 
-	local use=${2:+,${2}}
-
-	if [[ ${ver} == live ]]; then
-		echo " kde-base/${1}:live[aqua=${use}]"
-	else
-		echo " >=kde-base/${1}-${ver}[aqua=${use}]"
-	fi
+	echo " >=kde-base/${1}-${ver}[aqua=${2:+,${2}}]"
 }
 
 # _greater_max_in_slot ver slot
@@ -472,53 +460,24 @@
 		pkg=${pkg%\[*\]}
 	fi
 
-	local param slot def="unset" var atom
-	# The following variables will hold parameters that contain ":"
-	#  - block_3_5
-	#  - block_4_1
-	#  - block_4_2
-	#  - block_4_3
-	#  - block_4_4
-	#  - block_live
-	for slot in 3.5 ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
-		local block_${slot//./_}="unset"
-	done
-
-	# This construct goes through each parameter passed, and sets
-	# either def or block_* to the version passed
-	for param; do
-		# If the parameter does not have a ":" in it...
-		if [[ ${param/:} == ${param} ]]; then
-			def=${param}
-		else # the parameter *does* have a ":" in it
-			# so everything after the : is the slot...
-			slot=${param#*:}
-			# ...and everything before the : is the version
-			local block_${slot//./_}=${param%:*}
-		fi
-	done
+	local slot ver="$1" atom old_ver="unset"
+	[[ "$2" == *:3.5 ]] && old_ver=${2::-4}
 
 	for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
-		# ${var} contains the name of the variable we care about for this slot
-		# ${!var} is it's value
-		var=block_${slot//./_}
-		# if we didn't pass *:${slot}, then use the unsloted value
-		[[ ${!var} == "unset" ]] && var=def
-
 		# If no version was passed, or the version is greater than the maximum
 		# possible version in this slot, block all versions in this slot
-		if [[ ${!var} == "unset" ]] || [[ -z ${!var} ]] || _greater_max_in_slot ${!var#<} ${slot}; then
+		if [[ ${ver} == "unset" ]] || [[ -z ${ver} ]] || _greater_max_in_slot ${ver#<} ${slot}; then
 			atom=${pkg}
 		# If the version is "0" or less than the minimum possible version in
 		# this slot, do nothing
-		elif [[ ${!var} == "0" ]] || _less_min_in_slot ${!var#<} ${slot}; then
+		elif [[ ${ver} == "0" ]] || _less_min_in_slot ${ver#<} ${slot}; then
 			continue
 		# If the version passed begins with a "<", then use "<" instead of "<="
-		elif [[ ${!var:0:1} == "<" ]]; then
+		elif [[ ${ver::1} == "<" ]]; then
 			# this also removes the first character of the version, which is a "<"
-			atom="<${pkg}-${!var:1}"
+			atom="<${pkg}-${ver:1}"
 		else
-			atom="<=${pkg}-${!var}"
+			atom="<=${pkg}-${ver}"
 		fi
 		echo " !${atom}:${slot}${use:+[${use}]}"
 	done
@@ -527,13 +486,13 @@
 	# default version passed, and no blocker is output *unless* a version
 	# is passed, or ":3.5" is passed to explicitly request a block on all
 	# 3.5 versions.
-	if [[ ${block_3_5} != "unset" && ${block_3_5} != "0" ]]; then
-		if [[ -z ${block_3_5} ]]; then
+	if [[ ${old_ver} != "unset" && ${old_ver} != "0" ]]; then
+		if [[ -z ${old_ver} ]]; then
 			atom=${pkg}
-		elif [[ ${block_3_5:0:1} == "<" ]]; then
-			atom="<${pkg}-${block_3_5:1}"
+		elif [[ ${old_ver::1} == "<" ]]; then
+			atom="<${pkg}-${old_ver:1}"
 		else
-			atom="<=${pkg}-${block_3_5}"
+			atom="<=${pkg}-${old_ver}"
 		fi
 		echo " !${atom}:3.5${use:+[${use}]}"
 	fi
@@ -597,9 +556,9 @@
 	local major=$(get_major_version ${ver})
 	local minor=$(get_version_component_range 2 ${ver})
 	local micro=$(get_version_component_range 3 ${ver})
-	[[ ${ver} == 9999 ]] && echo live
-	(( major == 4 && micro == 9999 )) && echo ${major}.${minor}
-	if (( major == 4 && micro != 9999 )); then
+	if [[ ${ver} == 9999 ]]; then
+		echo live
+	else
 		(( micro < 50 )) && echo ${major}.${minor} || echo ${major}.$((minor + 1))
 	fi
 }



1.55                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.55&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.55&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.54&r2=1.55

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- kde4-meta.eclass	7 Jun 2011 20:11:04 -0000	1.54
+++ kde4-meta.eclass	15 Jun 2011 00:11:05 -0000	1.55
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.54 2011/06/07 20:11:04 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.55 2011/06/15 00:11:05 abcd Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -180,29 +180,29 @@
 
 		case ${KDE_SCM} in
 			svn)
-				local rsync_options subdir kmnamedir targetdir wc_path escm
+				local rsync_options subdir targetdir wc_path escm
 
 				rsync_options="--group --links --owner --perms --quiet --exclude=.svn/ --exclude=.git/"
 				wc_path="${ESVN_WC_PATH}"
 				escm="{ESVN}"
 
 				# Copy ${KMNAME} non-recursively (toplevel files)
-				rsync ${rsync_options} "${wc_path}"/${kmnamedir}* "${S}" \
+				rsync ${rsync_options} "${wc_path}"/* "${S}" \
 					|| die "${escm}: can't export toplevel files to '${S}'."
 				# Copy cmake directory
-				if [[ -d "${wc_path}/${kmnamedir}cmake" ]]; then
-					rsync --recursive ${rsync_options} "${wc_path}/${kmnamedir}cmake" "${S}" \
+				if [[ -d "${wc_path}/cmake" ]]; then
+					rsync --recursive ${rsync_options} "${wc_path}/cmake" "${S}" \
 						|| die "${escm}: can't export cmake files to '${S}'."
 				fi
 				# Copy all subdirectories
 				for subdir in $(__list_needed_subdirectories); do
 					targetdir=""
-					if [[ $subdir = doc/* && ! -e "$wc_path/$kmnamedir$subdir" ]]; then
+					if [[ $subdir = doc/* && ! -e "$wc_path/$subdir" ]]; then
 						continue
 					fi
 
 					[[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}"
-					rsync --recursive ${rsync_options} "${wc_path}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \
+					rsync --recursive ${rsync_options} "${wc_path}/${subdir%/}" "${S}/${targetdir}" \
 						|| die "${escm}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'."
 				done
 				;;
@@ -305,7 +305,7 @@
 	# Note that this actually doesn't include KMEXTRA handling.
 	# In those cases you should care to add the relevant files to KMEXTRACTONLY
 	case ${KMNAME} in
-		kdebase | kdebase-apps | kde-base-apps)
+		kdebase | kdebase-apps | kde-baseapps)
 			KMEXTRACTONLY+="
 				config-apps.h.cmake
 				ConfigureChecks.cmake"






^ permalink raw reply	[flat|nested] 22+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass
@ 2011-10-06 14:13 Alexey Shvetsov (alexxy)
  0 siblings, 0 replies; 22+ messages in thread
From: Alexey Shvetsov (alexxy) @ 2011-10-06 14:13 UTC (permalink / raw
  To: gentoo-commits

alexxy      11/10/06 14:13:29

  Modified:             kde4-base.eclass kde4-functions.eclass
                        kde4-meta.eclass
  Log:
  [eclass] Update kde eclasses

Revision  Changes    Path
1.108                eclass/kde4-base.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.108&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?rev=1.108&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-base.eclass?r1=1.107&r2=1.108

Index: kde4-base.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -r1.107 -r1.108
--- kde4-base.eclass	7 Sep 2011 17:34:04 -0000	1.107
+++ kde4-base.eclass	6 Oct 2011 14:13:29 -0000	1.108
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.107 2011/09/07 17:34:04 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.108 2011/10/06 14:13:29 alexxy Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
@@ -569,38 +569,8 @@
 			fi
 
 			# default branching
-			case ${PV} in
-				9999*) ;;
-				*)
-					# set EGIT_BRANCH and EGIT_COMMIT to $(get_kde_version)
-					# every package is listed explicitly now, as upstream
-					# seems to love being different :(
-					case ${_kmname} in
-						ark|blinken|cantor|filelight|kalgebra|kalzium|kanagram|kbruch| \
-						kcalc|kcharselect|kdeplasma-addons|kdepim|kdepim-runtime|kdepimlibs| \
-						kdf|kfloppy|kgeography|kgpg|khangman|kig|kiten|klettres|kmplot|kremotecontrol| \
-						kstars|ktimer|ktouch|kturtle|kwallet|kwordquiz|libkdeedu|mobipocket| \
-						okular|parley|printer-applet|rocs|step|superkaramba|sweeper)
-							EGIT_BRANCH="$(get_kde_version)"
-							;;
-						marble)
-							EGIT_BRANCH="kde-$(get_kde_version)"
-							;;
-						gwenview|jovie|kaccessible|kamera|kate|kcolorchooser|kde-baseapps| \
-						kde-runtime|kde-workspace|kgamma| \
-						kdegraphics-strigi-analyzer|kdegraphics-thumbnailers| \
-						kdelibs|kimono|kmag|kmousetool|kmouth|kolourpaint|konsole|korundum| \
-						kross-interpreters|kruler|ksaneplugin|ksnapshot| \
-						libkdcraw|libkexiv2|libkipi|libksane|perlqt|perlkde| \
-						pykde4|qtruby|qyoto|smokegen|smokekde|smokeqt|svgpart)
-							EGIT_BRANCH="KDE/$(get_kde_version)"
-							;;
-						*)
-							ewarn "Unknown KMNAME ${_kmname}: Guessing branch name 'KDE/$(get_kde_version)'"
-							EGIT_BRANCH="KDE/$(get_kde_version)" ;;
-					esac
-					;;
-			esac
+			[[ ${PV} != 9999* && ${KDEBASE} == kde-base ]] && \
+				EGIT_BRANCH="KDE/$(get_kde_version)"
 
 			# default repo uri
 			EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
@@ -749,21 +719,23 @@
 
 	# Replace KDE4Workspace library targets
 	find "${S}" -name CMakeLists.txt \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' {} + \
-		-exec sed -i -r -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' {} + \
+		-exec sed -i -r \
+			-e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' \
+			-e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' \
+			-e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' \
+			-e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' \
+			-e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' \
+			-e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' \
+			-e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' \
+			-e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' \
+			-e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' \
+			-e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' \
+			-e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' \
+			-e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' \
+			-e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' \
+			-e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' \
+			-e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' \
+			{} + \
 		|| die 'failed to replace KDE4Workspace library targets'
 
 	# Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...



1.57                 eclass/kde4-functions.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.57&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?rev=1.57&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-functions.eclass?r1=1.56&r2=1.57

Index: kde4-functions.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- kde4-functions.eclass	22 Aug 2011 04:46:32 -0000	1.56
+++ kde4-functions.eclass	6 Oct 2011 14:13:29 -0000	1.57
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.56 2011/08/22 04:46:32 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.57 2011/10/06 14:13:29 alexxy Exp $
 
 inherit versionator
 
@@ -418,6 +418,11 @@
 
 	[[ -z ${1} ]] && die "Missing parameter"
 
+	# There will be no kdelibs 4.8+ (the next kdelibs will be a non-BC 5.0, apparently)
+	if [[ ${1} == kdelibs ]] && version_is_at_least 4.7.50 ${ver}; then
+		ver=4.7.1
+	fi
+
 	echo " >=kde-base/${1}-${ver}:4[aqua=${2:+,${2}}]"
 }
 



1.57                 eclass/kde4-meta.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.57&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?rev=1.57&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/kde4-meta.eclass?r1=1.56&r2=1.57

Index: kde4-meta.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- kde4-meta.eclass	10 Jul 2011 17:53:37 -0000	1.56
+++ kde4-meta.eclass	6 Oct 2011 14:13:29 -0000	1.57
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.56 2011/07/10 17:53:37 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.57 2011/10/06 14:13:29 alexxy Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -559,7 +559,11 @@
 			# Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82
 			if [[ ${PN} != libkworkspace ]]; then
 				sed -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
-					-i CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section"
+					-i CMakeLists.txt || die "${LINENO}: sed died in kde-workspace strip config install and fix EXPORT section"
+			fi
+			if [[ ${PN} != plasma-workspace ]]; then
+				sed -e '/KActivities/s/REQUIRED//' \
+					-i CMakeLists.txt || die "${LINENO}: sed died in kde-workspace dep reduction section"
 			fi
 			;;
 		kdebase-runtime | kde-runtime)






^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2011-10-06 14:13 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-15 15:19 [gentoo-commits] gentoo-x86 commit in eclass: kde4-base.eclass kde4-functions.eclass kde4-meta.eclass Maciej Mrozowski (reavertm)
  -- strict thread matches above, loose matches on Subject: below --
2011-10-06 14:13 Alexey Shvetsov (alexxy)
2011-06-15  0:11 Jonathan Callen (abcd)
2011-06-06 17:51 Jonathan Callen (abcd)
2010-12-29 17:06 Theo Chatzimichos (tampakrap)
2010-12-02 21:49 Alexey Shvetsov (alexxy)
2010-09-11  4:25 Maciej Mrozowski (reavertm)
2010-02-02 14:20 Maciej Mrozowski (reavertm)
2009-12-01 10:56 Tomas Chvatal (scarabeus)
2009-10-06 18:02 Alexey Shvetsov (alexxy)
2009-08-20  9:18 Tomas Chvatal (scarabeus)
2009-08-03 21:59 Alex Alexander (wired)
2009-06-04  9:29 Tomas Chvatal (scarabeus)
2009-05-28  9:47 Tomas Chvatal (scarabeus)
2009-05-09 13:23 Tomas Chvatal (scarabeus)
2009-04-13  0:02 Tomas Chvatal (scarabeus)
2009-03-09 19:41 Tomas Chvatal (scarabeus)
2009-03-01 11:44 Tomas Chvatal (scarabeus)
2009-01-12 19:40 Tomas Chvatal (scarabeus)
2009-01-12 17:25 Tomas Chvatal (scarabeus)
2008-10-02  6:49 Jorge Manuel B. S. Vicetto (jmbsvicetto)
2008-05-15 19:49 Ingmar Vanhassel (ingmar)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox