summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Mrozowski <reavertm@gentoo.org>2010-09-14 12:39:51 +0000
committerMaciej Mrozowski <reavertm@gentoo.org>2010-09-14 12:39:51 +0000
commitcae0a29fc44a0830f3c2cb065224ae9473424c45 (patch)
tree7fbc94d0847c2c46cacdfc30c71c4ff6a42886e9
parentRemoving old versions of xwax to address bug #335787 (diff)
downloadgentoo-2-cae0a29fc44a0830f3c2cb065224ae9473424c45.tar.gz
gentoo-2-cae0a29fc44a0830f3c2cb065224ae9473424c45.tar.bz2
gentoo-2-cae0a29fc44a0830f3c2cb065224ae9473424c45.zip
Rework KDE_HANDBOOK=1 -> KDE_HANDBOOK->'always', 'optional'(USE=handbook), 'never'(default)
-rw-r--r--eclass/kde4-base.eclass43
-rw-r--r--eclass/kde4-meta.eclass19
2 files changed, 40 insertions, 22 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index abb66212a282..ddc5058953cf 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -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.73 2010/09/13 21:47:37 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.74 2010/09/14 12:39:51 reavertm Exp $
# @ECLASS: kde4-base.eclass
# @MAINTAINER:
@@ -141,15 +141,18 @@ CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
# @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.
+# 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}"
# @ECLASS-VARIABLE: KDE_HANDBOOK
# @DESCRIPTION:
-# Set to enable handbook in application. It adds +handbook to IUSE, handbook dirs
-# to KMEXTRA and ensures buildtime and runtime dependencies.
-[[ -n ${KDE_HANDBOOK} ]] && IUSE+=" +handbook"
+# Set to enable handbook in application. Possible values are 'always', 'optional'
+# (handbook USE flag) and 'never'.
+# This variable must be set before inheriting any eclasses. Defaults to 'never'.
+# It adds default handbook dirs for kde-base packages to KMEXTRA and in any case it
+# ensures buildtime and runtime dependencies.
+KDE_HANDBOOK="${KDE_HANDBOOK:-never}"
# Setup packages inheriting this eclass
case ${KDEBASE} in
@@ -318,16 +321,26 @@ kdedepend="
"
kderdepend=""
-# Handbook handling - dependencies
-if [[ -n ${KDE_HANDBOOK} ]]; then
- kdedepend+="
- handbook? (
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xsl-stylesheets
- )
- "
- [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( $(add_kdebase_dep khelpcenter) )"
-fi
+kdehandbookdepend="
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xsl-stylesheets
+"
+kdehandbookrdepend="
+ $(add_kdebase_dep kdelibs 'handbook')
+"
+case ${KDE_HANDBOOK} in
+ always)
+ kdedepend+=" ${kdehandbookdepend}"
+ [[ ${PN} != kdelibs ]] && kderdepend+=" ${kdehandbookrdepend}"
+ ;;
+ optional)
+ IUSE+=" +handbook"
+ kdedepend+=" handbook? ( ${kdehandbookdepend} )"
+ [[ ${PN} != kdelibs ]] && kderdepend+=" handbook? ( ${kdehandbookrdepend} )"
+ ;;
+ *) ;;
+esac
+unset kdehandbookdepend kdehandbookrdepend
case ${KDE_REQUIRED} in
always)
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
index 05465251c1ef..99df107283ec 100644
--- a/eclass/kde4-meta.eclass
+++ b/eclass/kde4-meta.eclass
@@ -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.40 2010/09/11 04:25:23 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.41 2010/09/14 12:39:51 reavertm Exp $
#
# @ECLASS: kde4-meta.eclass
# @MAINTAINER:
@@ -108,10 +108,9 @@ fi
# @DESCRIPTION:
# All subdirectories listed here will be extracted, compiled & installed.
# $KMMODULE is always added to $KMEXTRA.
-# 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.
+# If KDE_HANDBOOK is 'always' or 'optional' and handbook USE-flag is set, and if this
+# directory exists, then "doc/$KMMODULE" is added to $KMEXTRA. If there's additional
+# documentation in different subdirectories, it should be added to KMEXTRA manually..
# @ECLASS-VARIABLE: KMCOMPILEONLY
# @DESCRIPTION:
@@ -282,14 +281,20 @@ kde4-meta_src_extract() {
kde4-meta_create_extractlists() {
debug-print-function ${FUNCNAME} "$@"
- # TODO change to KMEXTRA for more strict check
- if has handbook ${IUSE//+} && use handbook && [[ -n ${KMMODULE} ]]; then
+ # Add default handbook locations
+ # FIXME - legacy code - remove when 4.4.5 is gone or preferrably port 4.4.5.
+ if ! slot_is_at_least 4.5 ${SLOT} && 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+="
doc/${KMMODULE##*/}"
fi
+ # Add default handbook locations
+ if [[ -n ${KMMODULE} ]] && [[ ${KDE_HANDBOOK} = always ]] || { [[ ${KDE_HANDBOOK} = optional ]] && use handbook; }; then
+ KMEXTRA+=" doc/${KMMODULE##*/}"
+ fi
+
# Add some CMake-files to KMEXTRACTONLY.
# Note that this actually doesn't include KMEXTRA handling.
# In those cases you should care to add the relevant files to KMEXTRACTONLY