From d7ed2b01311f15ba54fe8ea872aab7d59ab2b193 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 29 Jan 2021 18:03:51 +0000 Subject: gentoo resync : 29.01.2021 --- eclass/apache-2.eclass | 70 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 10 deletions(-) (limited to 'eclass/apache-2.eclass') diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass index ccfe482f528e..aac25683d99e 100644 --- a/eclass/apache-2.eclass +++ b/eclass/apache-2.eclass @@ -10,7 +10,7 @@ # This eclass handles apache-2.x ebuild functions such as LoadModule generation # and inter-module dependency checking. -inherit autotools flag-o-matic multilib ssl-cert user toolchain-funcs eapi7-ver +inherit autotools flag-o-matic multilib ssl-cert user toolchain-funcs [[ ${CATEGORY}/${PN} != www-servers/apache ]] \ && die "Do not use this eclass with anything else than www-servers/apache ebuilds!" @@ -19,14 +19,19 @@ case ${EAPI:-0} in 0|1|2|3|4|5) die "This eclass is banned for EAPI<6" ;; + 6) + inherit eapi7-ver + ;; + *) + LUA_COMPAT=( lua5-{1..4} ) + inherit lua-single + ;; esac # settings which are version specific go in here: case $(ver_cut 1-2) in 2.4) DEFAULT_MPM_THREADED="event" #509922 - CDEPEND=">=dev-libs/apr-1.5.1:= - !www-apache/mod_macro" #492578 #477702 ;; *) die "Unknown MAJOR.MINOR apache version." @@ -88,10 +93,18 @@ SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2 # built-in modules IUSE_MPMS="${IUSE_MPMS_FORK} ${IUSE_MPMS_THREAD}" -IUSE="${IUSE} debug doc gdbm ldap libressl selinux ssl static suexec threads" +IUSE="${IUSE} debug doc gdbm ldap libressl selinux ssl static suexec +suexec-caps suexec-syslog split-usr threads" for module in ${IUSE_MODULES} ; do - IUSE="${IUSE} apache2_modules_${module}" + case ${module} in + # Enable http2 by default (bug #563452) + http2) + IUSE+=" +apache2_modules_${module}" + ;; + *) + IUSE+=" apache2_modules_${module}" + ;; + esac done _apache2_set_mpms() { @@ -121,23 +134,53 @@ _apache2_set_mpms() { _apache2_set_mpms unset -f _apache2_set_mpms -DEPEND="${CDEPEND} +# Dependencies +RDEPEND=" dev-lang/perl + >=dev-libs/apr-1.5.1:= =dev-libs/apr-util-1*:=[gdbm=,ldap?] dev-libs/libpcre + apache2_modules_brotli? ( >=app-arch/brotli-0.6.0:= ) apache2_modules_deflate? ( sys-libs/zlib ) + apache2_modules_http2? ( + >=net-libs/nghttp2-1.2.1 + kernel_linux? ( sys-apps/util-linux ) + ) + apache2_modules_md? ( >=dev-libs/jansson-2.10 ) apache2_modules_mime? ( app-misc/mime-types ) + apache2_modules_proxy_http2? ( + >=net-libs/nghttp2-1.2.1 + kernel_linux? ( sys-apps/util-linux ) + ) + apache2_modules_session_crypto? ( + libressl? ( dev-libs/apr-util[libressl] ) + !libressl? ( dev-libs/apr-util[openssl] ) + ) gdbm? ( sys-libs/gdbm:= ) ldap? ( =net-nds/openldap-2* ) + selinux? ( sec-policy/selinux-apache ) ssl? ( !libressl? ( >=dev-libs/openssl-1.0.2:0= ) libressl? ( dev-libs/libressl:0= ) + kernel_linux? ( sys-apps/util-linux ) ) - !=www-servers/apache-1*" -RDEPEND+=" ${DEPEND} - selinux? ( sec-policy/selinux-apache )" +" + +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + suexec? ( suexec-caps? ( sys-libs/libcap ) ) +" +if [[ ${EAPI} == 6 ]] ; then + DEPEND+=" ${BDEPEND}" +fi PDEPEND="~app-admin/apache-tools-${PV}" +REQUIRED_USE+=" + apache2_modules_http2? ( ssl ) + apache2_modules_md? ( ssl ) +" + S="${WORKDIR}/httpd-${PV}" # @VARIABLE: MODULE_DEPENDS @@ -254,7 +297,10 @@ setup_modules() { MY_MODS=() if use ldap ; then - MY_CONF+=( --enable-authnz_ldap=${mod_type} --enable-ldap=${mod_type} ) + MY_CONF+=( + --enable-authnz_ldap=${mod_type} + --enable-ldap=${mod_type} + ) MY_MODS+=( ldap authnz_ldap ) else MY_CONF+=( --disable-authnz_ldap --disable-ldap ) @@ -413,6 +459,10 @@ apache-2_pkg_setup() { fi elog fi + + if [[ ${EAPI} != 6 ]] && use apache2_modules_lua ; then + lua-single_pkg_setup + fi } # @FUNCTION: apache-2_src_prepare -- cgit v1.2.3