diff options
| -rw-r--r-- | eclass/kde4-base.eclass | 64 | ||||
| -rw-r--r-- | eclass/kde4-functions.eclass | 11 |
2 files changed, 51 insertions, 24 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass index 9e5a385db87..e5166d9a247 100644 --- a/eclass/kde4-base.eclass +++ b/eclass/kde4-base.eclass @@ -87,6 +87,11 @@ case "${PV}" in ;; esac +# Add the fhs use flag +if [[ $EAPI = 2 && -n ${KDEBASE} ]]; then + IUSE="${IUSE} fhs" +fi + DEPEND="${DEPEND} ${COMMONDEPEND} ${CMAKEDEPEND} dev-util/pkgconfig x11-libs/libXt @@ -179,6 +184,7 @@ case ${NEED_KDE} in _pv=":kde-svn" export NEED_KDE="svn" ;; + # NEED_KDE=":${SLOT}" *:kde-svn) _kdedir="svn" @@ -194,6 +200,7 @@ case ${NEED_KDE} in _kdedir="4.0" _pv="${NEED_KDE}" ;; + # NEED_KDE="${PV}:${SLOT}" *:4.1) _kdedir="4.1" @@ -220,10 +227,12 @@ case ${NEED_KDE} in _operator=">=" _pv="-${NEED_KDE}:kde-4" ;; + # The ebuild handles dependencies, KDEDIR, SLOT. none) : ;; + *) die "NEED_KDE=${NEED_KDE} currently not supported." ;; esac @@ -231,8 +240,13 @@ esac if [[ ${NEED_KDE} != none ]]; then # Set PREFIX - KDEDIR="/usr/kde/${_kdedir}" - KDEDIRS="/usr:/usr/local:${KDEDIR}" + if use fhs; then + KDEDIR="/usr" + KDEDIRS="/usr:/usr/local" + else + KDEDIR="/usr/kde/${_kdedir}" + KDEDIRS="/usr:/usr/local:${KDEDIR}" + fi if [[ -n ${KDEBASE} ]]; then if [[ ${NEED_KDE} = svn ]]; then @@ -245,19 +259,34 @@ if [[ ${NEED_KDE} != none ]]; then fi fi - # Block other SLOTS + # Block kdelibs on other SLOTS + if use fhs; then + for KDE_SLOT in ${KDE_SLOTS[@]}; do + # block kdelibs on other slots + if [[ ${SLOT} != ${KDE_SLOT} ]]; then + DEPEND="${DEPEND} !kde-base/kdelibs:${KDE_SLOT}" + RDEPEND="${RDEPEND} !kde-base/kdelibs:${KDE_SLOT}" + fi + done + fi # 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}" + if [[ $EAPI = 2 ]]; then + DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}[fhs?]" + RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}[fhs?]" + else + DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}" + RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}" + fi if [[ ${PN} != "kdepimlibs" ]]; then - DEPEND="${DEPEND} - ${_operator}kde-base/kdepimlibs${_pv}" - RDEPEND="${RDEPEND} - ${_operator}kde-base/kdepimlibs${_pv}" + if [[ $EAPI = "2*" ]]; then + DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}[fhs?]" + RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}[fhs?]" + else + DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}" + RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}" + fi fi fi @@ -291,19 +320,6 @@ if [[ -n ${KDEBASE} ]]; then 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: diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass index 3a6b20285dc..fad94c4ebc5 100644 --- a/eclass/kde4-functions.eclass +++ b/eclass/kde4-functions.eclass @@ -29,6 +29,17 @@ if [[ "${KMNAME}" == "koffice" || "${PN}" == "koffice" ]]; then 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. |
