summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39237 -> 39224 bytes
-rw-r--r--eclass/apache-2.eclass108
-rw-r--r--eclass/eapi7-ver.eclass2
-rw-r--r--eclass/epatch.eclass9
-rw-r--r--eclass/kde4-base.eclass2
-rw-r--r--eclass/kde5-functions.eclass1
-rw-r--r--eclass/ltprune.eclass7
-rw-r--r--eclass/php-pear-r1.eclass3
-rw-r--r--eclass/ruby-ng.eclass4
-rw-r--r--eclass/toolchain.eclass3
-rw-r--r--eclass/versionator.eclass7
-rw-r--r--eclass/xorg-2.eclass27
12 files changed, 84 insertions, 89 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 87e7bac27062..6980d1056178 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index 91ff966c8f13..0409c4db17d7 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -97,9 +97,34 @@ for module in ${IUSE_MODULES} ; do
IUSE="${IUSE} apache2_modules_${module}"
done
-for mpm in ${IUSE_MPMS} ; do
- IUSE="${IUSE} apache2_mpms_${mpm}"
-done
+_apache2_set_mpms() {
+ local mpm
+ local ompm
+
+ for mpm in ${IUSE_MPMS} ; do
+ IUSE="${IUSE} apache2_mpms_${mpm}"
+
+ REQUIRED_USE+=" apache2_mpms_${mpm}? ("
+ for ompm in ${IUSE_MPMS} ; do
+ if [[ "${mpm}" != "${ompm}" ]] ; then
+ REQUIRED_USE+=" !apache2_mpms_${ompm}"
+ fi
+ done
+
+ if has ${mpm} ${IUSE_MPMS_FORK} ; then
+ REQUIRED_USE+=" !threads"
+ else
+ REQUIRED_USE+=" threads"
+ fi
+ REQUIRED_USE+=" )"
+ done
+
+ if [[ "${PV}" != 2.2* ]] ; then
+ REQUIRED_USE+=" apache2_mpms_prefork? ( !apache2_modules_http2 )"
+ fi
+}
+_apache2_set_mpms
+unset -f _apache2_set_mpms
DEPEND="${CDEPEND}
dev-lang/perl
@@ -119,6 +144,23 @@ PDEPEND="~app-admin/apache-tools-${PV}"
S="${WORKDIR}/httpd-${PV}"
+# @VARIABLE: MODULE_DEPENDS
+# @DESCRIPTION:
+# This variable needs to be set in the ebuild and contains a space-separated
+# list of dependency tokens each with a module and the module it depends on
+# separated by a colon
+
+# now extend REQUIRED_USE to reflect the module dependencies to portage
+_apache2_set_module_depends() {
+ local dep
+
+ for dep in ${MODULE_DEPENDS} ; do
+ REQUIRED_USE+=" apache2_modules_${dep%:*}? ( apache2_modules_${dep#*:} )"
+ done
+}
+_apache2_set_module_depends
+unset -f _apache2_set_module_depends
+
# ==============================================================================
# INTERNAL FUNCTIONS
# ==============================================================================
@@ -135,16 +177,12 @@ setup_mpm() {
MY_MPM=""
for x in ${IUSE_MPMS} ; do
if use apache2_mpms_${x} ; then
- if [[ -z "${MY_MPM}" ]] ; then
- MY_MPM=${x}
- elog
- elog "Selected MPM: ${MY_MPM}"
- elog
- else
- eerror "You have selected more then one mpm USE-flag."
- eerror "Only one MPM is supported."
- die "more then one mpm was specified"
- fi
+ # there can at most be one MPM selected because of REQUIRED_USE constraints
+ MY_MPM=${x}
+ elog
+ elog "Selected MPM: ${MY_MPM}"
+ elog
+ break
fi
done
@@ -161,20 +199,6 @@ setup_mpm() {
elog
fi
fi
-
- if has ${MY_MPM} ${IUSE_MPMS_THREAD} && ! use threads ; then
- eerror "You have selected a threaded MPM but USE=threads is disabled"
- die "invalid use flag combination"
- fi
-
- if has ${MY_MPM} ${IUSE_MPMS_FORK} && use threads ; then
- eerror "You have selected a non-threaded MPM but USE=threads is enabled"
- die "invalid use flag combination"
- fi
-
- if [[ "${PV}" != 2.2* ]] && [[ "${MY_MPM}" = *prefork* ]] && use apache2_modules_http2 ; then
- die "http2 does not work with prefork MPM."
- fi
}
# @VARIABLE: MODULE_CRITICAL
@@ -207,35 +231,6 @@ check_module_critical() {
fi
}
-# @VARIABLE: MODULE_DEPENDS
-# @DESCRIPTION:
-# This variable needs to be set in the ebuild and contains a space-separated
-# list of dependency tokens each with a module and the module it depends on
-# separated by a colon
-
-# @FUNCTION: check_module_depends
-# @DESCRIPTION:
-# This internal function makes sure that all inter-module dependencies are
-# satisfied with the current module selection
-check_module_depends() {
- local err=0
-
- for m in ${MY_MODS[@]} ; do
- for dep in ${MODULE_DEPENDS} ; do
- if [[ "${m}" == "${dep%:*}" ]] ; then
- if ! use apache2_modules_${dep#*:} ; then
- eerror "Module '${m}' depends on '${dep#*:}'"
- err=1
- fi
- fi
- done
- done
-
- if [[ ${err} -ne 0 ]] ; then
- die "invalid use flag combination"
- fi
-}
-
# @ECLASS-VARIABLE: MY_CONF
# @DESCRIPTION:
# This internal variable contains the econf options for the current module
@@ -316,7 +311,6 @@ setup_modules() {
# sort and uniquify MY_MODS
MY_MODS=( $(echo ${MY_MODS[@]} | tr ' ' '\n' | sort -u) )
- check_module_depends
check_module_critical
}
diff --git a/eclass/eapi7-ver.eclass b/eclass/eapi7-ver.eclass
index 7eb070c68171..6117124a90a5 100644
--- a/eclass/eapi7-ver.eclass
+++ b/eclass/eapi7-ver.eclass
@@ -63,7 +63,7 @@ case ${EAPI:-0} in
6)
;;
*)
- die "${ECLASS}: EAPI=${EAPI} unknown";;
+ die "${ECLASS}: EAPI=${EAPI} includes all functions from this eclass";;
esac
# @FUNCTION: _ver_parse_range
diff --git a/eclass/epatch.eclass b/eclass/epatch.eclass
index 905f68f8ef22..8e03478c26ce 100644
--- a/eclass/epatch.eclass
+++ b/eclass/epatch.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: epatch.eclass
@@ -11,6 +11,13 @@
if [[ -z ${_EPATCH_ECLASS} ]]; then
+case ${EAPI:-0} in
+ 0|1|2|3|4|5|6)
+ ;;
+ *)
+ die "${ECLASS}: banned in EAPI=${EAPI}; use eapply* instead";;
+esac
+
inherit estack
# @VARIABLE: EPATCH_SOURCE
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index 8abade2677d4..72e4fcfe526b 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -387,7 +387,7 @@ kdedepend="
dev-util/automoc
virtual/pkgconfig
>=x11-libs/libXtst-1.1.0
- x11-proto/xf86vidmodeproto
+ x11-base/xorg-proto
"
kderdepend=""
diff --git a/eclass/kde5-functions.eclass b/eclass/kde5-functions.eclass
index 6031ed2f4ec1..f9b00431bcc0 100644
--- a/eclass/kde5-functions.eclass
+++ b/eclass/kde5-functions.eclass
@@ -34,6 +34,7 @@ export KDE_BUILD_TYPE
case ${CATEGORY} in
kde-frameworks)
+ [[ ${PV} = 5.45* ]] && : ${QT_MINIMAL:=5.9.4}
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
;;
kde-plasma)
diff --git a/eclass/ltprune.eclass b/eclass/ltprune.eclass
index 6b3e93921d96..a8bb4c842bc0 100644
--- a/eclass/ltprune.eclass
+++ b/eclass/ltprune.eclass
@@ -15,6 +15,13 @@
if [[ -z ${_LTPRUNE_ECLASS} ]]; then
+case ${EAPI:-0} in
+ 0|1|2|3|4|5|6)
+ ;;
+ *)
+ die "${ECLASS}: banned in EAPI=${EAPI}; use 'find' instead";;
+esac
+
inherit toolchain-funcs
# @FUNCTION: prune_libtool_files
diff --git a/eclass/php-pear-r1.eclass b/eclass/php-pear-r1.eclass
index d565f07a0958..990ba3796947 100644
--- a/eclass/php-pear-r1.eclass
+++ b/eclass/php-pear-r1.eclass
@@ -1,6 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: php-pear-r1.eclass
# @MAINTAINER:
# Gentoo PHP Team <php-bugs@gentoo.org>
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 8d6f0082b9e8..22dafb31423a 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ruby-ng.eclass
@@ -112,7 +112,7 @@ _ruby_get_all_impls() {
for i in ${USE_RUBY}; do
case ${i} in
# removed implementations
- ruby19|ruby20|ruby21|jruby)
+ ruby19|ruby20|ruby21|ruby22|jruby)
;;
*)
echo ${i};;
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2da455ad4e3b..df76dc4feb8c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -206,11 +206,10 @@ DEPEND="${RDEPEND}
if in_iuse gcj ; then
GCJ_DEPS=">=media-libs/libart_lgpl-2.1"
GCJ_GTK_DEPS="
+ x11-base/xorg-proto
x11-libs/libXt
x11-libs/libX11
x11-libs/libXtst
- x11-proto/xproto
- x11-proto/xextproto
=x11-libs/gtk+-2*
virtual/pkgconfig
"
diff --git a/eclass/versionator.eclass b/eclass/versionator.eclass
index 54d77a30b015..bf3f6a2a77b6 100644
--- a/eclass/versionator.eclass
+++ b/eclass/versionator.eclass
@@ -28,6 +28,13 @@
if [[ -z ${_VERSIONATOR_ECLASS} ]]; then
_VERSIONATOR_ECLASS=1
+case ${EAPI:-0} in
+ 0|1|2|3|4|5|6)
+ ;;
+ *)
+ die "${ECLASS}: banned in EAPI=${EAPI}; use ver_* instead";;
+esac
+
inherit estack
# @FUNCTION: get_all_version_components
diff --git a/eclass/xorg-2.eclass b/eclass/xorg-2.eclass
index 42067095b55b..98a8df0cd3ad 100644
--- a/eclass/xorg-2.eclass
+++ b/eclass/xorg-2.eclass
@@ -199,26 +199,18 @@ DRI_COMMON_DEPEND="
x11-base/xorg-server[-minimal]
x11-libs/libdrm
"
-DRI_DEPEND="
- x11-proto/xf86driproto
- x11-proto/glproto
- x11-proto/dri2proto
-"
case ${XORG_DRI} in
no)
;;
always)
COMMON_DEPEND+=" ${DRI_COMMON_DEPEND}"
- DEPEND+=" ${DRI_DEPEND}"
;;
*)
COMMON_DEPEND+=" ${XORG_DRI}? ( ${DRI_COMMON_DEPEND} )"
- DEPEND+=" ${XORG_DRI}? ( ${DRI_DEPEND} )"
IUSE+=" ${XORG_DRI}"
;;
esac
-unset DRI_DEPEND
-unset DRI_COMMONDEPEND
+unset DRI_COMMON_DEPEND
if [[ -n "${DRIVER}" ]]; then
COMMON_DEPEND+="
@@ -226,26 +218,13 @@ if [[ -n "${DRIVER}" ]]; then
"
fi
if [[ -n "${DRIVER}" && ${PN} == xf86-input-* ]]; then
- DEPEND+="
- x11-proto/inputproto
- x11-proto/kbproto
- x11-proto/xproto
- "
+ DEPEND+=" x11-base/xorg-proto"
fi
if [[ -n "${DRIVER}" && ${PN} == xf86-video-* ]]; then
COMMON_DEPEND+="
x11-libs/libpciaccess
"
- # we also needs some protos and libs in all cases
- DEPEND+="
- x11-proto/fontsproto
- x11-proto/randrproto
- x11-proto/renderproto
- x11-proto/videoproto
- x11-proto/xextproto
- x11-proto/xineramaproto
- x11-proto/xproto
- "
+ DEPEND+=" x11-base/xorg-proto"
fi
# @ECLASS-VARIABLE: XORG_DOC