diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 39237 -> 39224 bytes | |||
-rw-r--r-- | eclass/apache-2.eclass | 108 | ||||
-rw-r--r-- | eclass/eapi7-ver.eclass | 2 | ||||
-rw-r--r-- | eclass/epatch.eclass | 9 | ||||
-rw-r--r-- | eclass/kde4-base.eclass | 2 | ||||
-rw-r--r-- | eclass/kde5-functions.eclass | 1 | ||||
-rw-r--r-- | eclass/ltprune.eclass | 7 | ||||
-rw-r--r-- | eclass/php-pear-r1.eclass | 3 | ||||
-rw-r--r-- | eclass/ruby-ng.eclass | 4 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 3 | ||||
-rw-r--r-- | eclass/versionator.eclass | 7 | ||||
-rw-r--r-- | eclass/xorg-2.eclass | 27 |
12 files changed, 84 insertions, 89 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 87e7bac27062..6980d1056178 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz 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 |