diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/ChangeLog | 6 | ||||
-rw-r--r-- | eclass/php-common-r1.eclass | 297 | ||||
-rw-r--r-- | eclass/php-ext-base-r1.eclass | 188 | ||||
-rw-r--r-- | eclass/php-ezc.eclass | 54 |
4 files changed, 5 insertions, 540 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog index 5ce5db031fce..27d5d41e0786 100644 --- a/eclass/ChangeLog +++ b/eclass/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for eclass directory # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1716 2015/07/17 17:34:54 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1717 2015/07/17 18:02:35 grknight Exp $ + + 17 Jul 2015; Brian Evans <grknight@gentoo.org> -php-common-r1.eclass, + -php-ext-base-r1.eclass, -php-ezc.eclass: + Drop old, unused eclasses wrt bug 551910 17 Jul 2015; Ian Stakenvicius (_AxS_) <axs@gentoo.org> mozconfig-v6.38.eclass, mozconfig-v6.39.eclass: diff --git a/eclass/php-common-r1.eclass b/eclass/php-common-r1.eclass deleted file mode 100644 index f8781ecbfb70..000000000000 --- a/eclass/php-common-r1.eclass +++ /dev/null @@ -1,297 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/php-common-r1.eclass,v 1.20 2015/06/17 19:23:34 grknight Exp $ - -# Based on robbat2's work on the php4 sapi eclass -# Based on stuart's work on the php5 sapi eclass - -# @ECLASS: php-common-r1.eclass -# @MAINTAINER: -# Gentoo PHP team <php-bugs@gentoo.org> -# @BLURB: Common functions which are shared between the PHP4 and PHP5 packages. -# @DESCRIPTION: -# This eclass provides common functions which are shared between the PHP4 and PHP5 packages. -# It is only used by php*-sapi eclasses currently and the functions are not intended -# for direct use in ebuilds. -# This eclass is no longer in use and scheduled to be removed on 2015-07-17 -# @DEAD - -# ======================================================================== -# CFLAG SANITY -# ======================================================================== - -php_check_cflags() { - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" -} - -# ======================================================================== -# IMAP SUPPORT -# ======================================================================== - -php_check_imap() { - if ! use "imap" && ! phpconfutils_usecheck "imap" ; then - return - fi - - if use "ssl" || phpconfutils_usecheck "ssl" ; then - if ! built_with_use virtual/imap-c-client ssl ; then - eerror - eerror "IMAP with SSL requested, but your IMAP C-Client libraries are built without SSL!" - eerror - die "Please recompile the IMAP C-Client libraries with SSL support enabled" - fi - else - if built_with_use virtual/imap-c-client ssl ; then - eerror - eerror "IMAP without SSL requested, but your IMAP C-Client libraries are built with SSL!" - eerror - die "Please recompile the IMAP C-Client libraries with SSL support disabled" - fi - fi - - if use "kolab" || phpconfutils_usecheck "kolab" ; then - if ! built_with_use net-libs/c-client kolab ; then - eerror - eerror "IMAP with annotations support requested, but net-libs/c-client is built without it!" - eerror - die "Please recompile net-libs/c-client with USE=kolab." - fi - fi -} - -# ======================================================================== -# JAVA EXTENSION SUPPORT -# -# The bundled java extension is unique to PHP4, but there is -# now the PHP-Java-Bridge that works under both PHP4 and PHP5. -# ======================================================================== - -php_check_java() { - if ! use "java-internal" && ! phpconfutils_usecheck "java-internal" ; then - return - fi - - JDKHOME="$(java-config --jdk-home)" - NOJDKERROR="You need to use the 'java-config' utility to set your JVM to a JDK!" - if [[ -z "${JDKHOME}" ]] || [[ ! -d "${JDKHOME}" ]] ; then - eerror "${NOJDKERROR}" - die "${NOJDKERROR}" - fi - - # stuart@gentoo.org - 2003/05/18 - # Kaffe JVM is not a drop-in replacement for the Sun JDK at this time - if echo ${JDKHOME} | grep kaffe > /dev/null 2>&1 ; then - eerror - eerror "PHP will not build using the Kaffe Java Virtual Machine." - eerror "Please change your JVM to either Blackdown or Sun's." - eerror - eerror "To build PHP without Java support, please re-run this emerge" - eerror "and place the line:" - eerror " USE='-java-internal'" - eerror "in front of your emerge command, for example:" - eerror " USE='-java-internal' emerge =dev-lang/php-4*" - eerror - eerror "or edit your USE flags in /etc/portage/make.conf." - die "Kaffe JVM not supported" - fi - - JDKVER=$(java-config --java-version 2>&1 | awk '/^java version/ { print $3 }' | xargs ) - einfo "Active JDK version: ${JDKVER}" - case "${JDKVER}" in - 1.4.*) ;; - 1.5.*) ewarn "Java 1.5 is NOT supported at this time, and might not work." ;; - *) eerror "A Java 1.4 JDK is recommended for Java support in PHP." ; die ;; - esac -} - -php_install_java() { - if ! use "java-internal" && ! phpconfutils_usecheck "java-internal" ; then - return - fi - - # We put these into /usr/lib so that they cannot conflict with - # other versions of PHP (e.g. PHP 4 & PHP 5) - insinto "${PHPEXTDIR}" - - einfo "Installing PHP java extension" - doins "modules/java.so" - - einfo "Creating PHP java extension symlink" - dosym "${PHPEXTDIR}/java.so" "${PHPEXTDIR}/libphp_java.so" - - einfo "Installing JAR for PHP" - doins "ext/java/php_java.jar" - - einfo "Installing Java test page" - newins "ext/java/except.php" "java-test.php" -} - -php_install_java_inifile() { - if ! use "java-internal" && ! phpconfutils_usecheck "java-internal" ; then - return - fi - - JAVA_LIBRARY="$(grep -- '-DJAVALIB' Makefile | sed -e 's,.\+-DJAVALIB=\"\([^"]*\)\".*$,\1,g;' | sort -u)" - - echo "extension = java.so" >> "${D}/${PHP_EXT_INI_DIR}/java.ini" - echo "java.library = ${JAVA_LIBRARY}" >> "${D}/${PHP_EXT_INI_DIR}/java.ini" - echo "java.class.path = ${PHPEXTDIR}/php_java.jar" >> "${D}/${PHP_EXT_INI_DIR}/java.ini" - echo "java.library.path = ${PHPEXTDIR}" >> "${D}/${PHP_EXT_INI_DIR}/java.ini" - - dosym "${PHP_EXT_INI_DIR}/java.ini" "${PHP_EXT_INI_DIR_ACTIVE}/java.ini" -} - -# ======================================================================== -# MTA SUPPORT -# ======================================================================== - -php_check_mta() { - if ! [[ -x "${ROOT}/usr/sbin/sendmail" ]] ; then - ewarn - ewarn "You need a virtual/mta that provides a sendmail compatible binary!" - ewarn "All major MTAs provide this, and it's usually some symlink created" - ewarn "as '${ROOT}/usr/sbin/sendmail*'. You should also be able to use other" - ewarn "MTAs directly, but you'll have to edit the sendmail_path directive" - ewarn "in your php.ini for this to work." - ewarn - fi -} - -# ======================================================================== -# ORACLE SUPPORT -# ======================================================================== - -php_check_oracle_all() { - if use "oci8" && [[ -z "${ORACLE_HOME}" ]] ; then - eerror - eerror "You must have the ORACLE_HOME variable set in your environment to" - eerror "compile the Oracle extension." - eerror - die "Oracle configuration incorrect; user error" - fi - - if use "oci8" || use "oracle7" ; then - if has_version 'dev-db/oracle-instantclient-basic' ; then - ewarn - ewarn "Please ensure you have a full install of the Oracle client." - ewarn "'dev-db/oracle-instantclient-basic' is NOT sufficient." - ewarn "Please enable the 'oci8-instant-client' USE flag instead, if you" - ewarn "want to use 'dev-db/oracle-instantclient-basic' as Oracle client." - ewarn - fi - fi -} - -php_check_oracle_8() { - if use "oci8" && [[ -z "${ORACLE_HOME}" ]] ; then - eerror - eerror "You must have the ORACLE_HOME variable set in your environment to" - eerror "compile the Oracle extension." - eerror - die "Oracle configuration incorrect; user error" - fi - - if use "oci8" ; then - if has_version 'dev-db/oracle-instantclient-basic' ; then - ewarn - ewarn "Please ensure you have a full install of the Oracle client." - ewarn "'dev-db/oracle-instantclient-basic' is NOT sufficient." - ewarn "Please enable the 'oci8-instant-client' USE flag instead, if you" - ewarn "want to use 'dev-db/oracle-instantclient-basic' as Oracle client." - ewarn - fi - fi -} - -# ======================================================================== -# POSTGRESQL SUPPORT -# ======================================================================== - -php_check_pgsql() { - if use "postgres" && use "apache2" && use "threads" ; then - if has_version dev-db/libpq ; then - if has_version ">=dev-db/libpq-8" && \ - ! built_with_use ">=dev-db/libpq-8" "threads" ; then - eerror - eerror "You must build dev-db/libpq with USE=threads" - eerror "if you want to build PHP with threads support!" - eerror - die "Rebuild dev-db/libpq with USE=threads" - fi - else - local pgsql_ver=$(eselect postgresql show) - if [[ ${pgsql_ver} == "(none)" ]]; then - eerror "QA: Please select your PostgreSQL version \"eselect postgresql list\"" - die "Can't determine PgSQL." - fi - if ! built_with_use "=dev-db/postgresql-base-${pgsql_ver}*" threads ; then - eerror - eerror "You must build =dev-db/postgresql-base-${pgsql_ver} with USE=threads" - eerror "if you want to build PHP with threads support!" - eerror - die "Rebuild =dev-db/postgresql-base-${pgsql_ver} with USE=threads" - fi - fi - fi -} - -# ======================================================================== -# MYSQL CHARSET DETECTION SUPPORT ## Thanks to hoffie -# ======================================================================== - -php_get_mycnf_charset() { - # nothing todo if no mysql installed - if [[ ! -f "${ROOT}/etc/mysql/my.cnf" ]]; then - echo "empty" - return - fi - local sapi="${1}" - local section="" - local client_charset="" - local sapi_charset="" - - # remove comments and pipe the output to our while loop - while read line ; do - line=$(echo "${line}" | sed 's:[;#][^\n]*::g') - - # skip empty lines - if [[ "${line}" == "" ]] ; then - continue - fi - - # capture sections - tmp=$(echo "${line}" | sed 's:\[\([-a-z0-9\_]*\)\]:\1:') - if [[ "${line}" != "${tmp}" ]] ; then - section=${tmp} - else - # we don't need to check lines which are not in a section we are interested about - if [[ "${section}" != "client" && "${section}" != "php-${sapi}" ]] ; then - continue - fi - - # match default-character-set= lines - tmp=$(echo "${line}" | sed 's|^[[:space:]\ ]*default-character-set[[:space:]\ ]*=[[:space:]\ ]*\"\?\([a-z0-9\-]*\)\"\?|\1|') - if [[ "${line}" == "${tmp}" ]] ; then - # nothing changed, irrelevant line - continue - fi - if [[ "${section}" == "client" ]] ; then - client_charset="${tmp}" - else - if [[ "${section}" == "php-${sapi}" ]] ; then - sapi_charset="${tmp}" - fi - fi - fi - done < "${ROOT}/etc/mysql/my.cnf" - # if a sapi-specific section with a default-character-set= value was found we use it, otherwise we use the client charset (which may be empty) - if [[ -n "${sapi_charset}" ]] ; then - echo "${sapi_charset}" - elif [[ -n "${client_charset}" ]] ; then - echo "${client_charset}" - else - echo "empty" - fi -} diff --git a/eclass/php-ext-base-r1.eclass b/eclass/php-ext-base-r1.eclass deleted file mode 100644 index 9e111c7b543a..000000000000 --- a/eclass/php-ext-base-r1.eclass +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/php-ext-base-r1.eclass,v 1.18 2015/06/17 19:23:34 grknight Exp $ - -# @ECLASS: php-ext-base-r1.eclass -# @MAINTAINER: -# Gentoo PHP team <php-bugs@gentoo.org> -# @AUTHOR: -# Author: Tal Peer <coredumb@gentoo.org> -# Author: Stuart Herbert <stuart@gentoo.org> -# Author: Luca Longinotti <chtekk@gentoo.org> -# Author: Jakub Moc <jakub@gentoo.org> (documentation) -# @BLURB: A unified interface for adding standalone PHP extensions. -# @DESCRIPTION: -# This eclass provides a unified interface for adding standalone -# PHP extensions (modules) to the php.ini files on your system. -# -# Combined with php-ext-source-r1, we have a standardised solution for supporting -# PHP extensions. -# This eclass is no longer in use and scheduled to be removed on 2015-07-17 -# @DEAD - -# Block ebuilds with minor version slotting. Quite temporary fix -DEPEND="!=dev-lang/php-5.3.3-r2 - !=dev-lang/php-5.2.14-r1 - !=dev-lang/php-5.3.3-r3 - !=dev-lang/php-5.3.5 - !=dev-lang/php-5.3.4-r1 - !=dev-lang/php-5.3.4 - !=dev-lang/php-5.2.16 - !=dev-lang/php-5.2.17 - !=dev-lang/php-5.2.14-r2" - -inherit depend.php - -EXPORT_FUNCTIONS src_install - -# @ECLASS-VARIABLE: PHP_EXT_NAME -# @DESCRIPTION: -# The extension name. This must be set, otherwise the eclass dies. -# Only automagically set by php-ext-pecl-r1.eclass, so unless your ebuild -# inherits that eclass, you must set this manually before inherit. -[[ -z "${PHP_EXT_NAME}" ]] && die "No module name specified for the php-ext-base-r1 eclass" - -# @ECLASS-VARIABLE: PHP_EXT_INI -# @DESCRIPTION: -# Controls whether or not to add a line to php.ini for the extension. -# Defaults to "yes" and should not be changed in most cases. -[[ -z "${PHP_EXT_INI}" ]] && PHP_EXT_INI="yes" - -# @ECLASS-VARIABLE: PHP_EXT_ZENDEXT -# @DESCRIPTION: -# Controls whether the extension is a ZendEngine extension or not. -# Defaults to "no" and if you don't know what is it, you don't need it. -[[ -z "${PHP_EXT_ZENDEXT}" ]] && PHP_EXT_ZENDEXT="no" - - -php-ext-base-r1_buildinilist() { - # Work out the list of <ext>.ini files to edit/add to - if [[ -z "${PHPSAPILIST}" ]] ; then - PHPSAPILIST="apache2 cli cgi fpm" - fi - - PHPINIFILELIST="" - - for x in ${PHPSAPILIST} ; do - if [[ -f "/etc/php/${x}-php${PHP_VERSION}/php.ini" ]] ; then - PHPINIFILELIST="${PHPINIFILELIST} etc/php/${x}-php${PHP_VERSION}/ext/${PHP_EXT_NAME}.ini" - fi - done -} - -# @FUNCTION: php-ext-base-r1_src_install -# @DESCRIPTION: -# Takes care of standard install for PHP extensions (modules). -php-ext-base-r1_src_install() { - # Pull in the PHP settings - has_php - addpredict /usr/share/snmp/mibs/.index - - # Build the list of <ext>.ini files to edit/add to - php-ext-base-r1_buildinilist - - # Add the needed lines to the <ext>.ini files - if [[ "${PHP_EXT_INI}" = "yes" ]] ; then - php-ext-base-r1_addextension "${PHP_EXT_NAME}.so" - fi - - # Symlink the <ext>.ini files from ext/ to ext-active/ - for inifile in ${PHPINIFILELIST} ; do - inidir="${inifile/${PHP_EXT_NAME}.ini/}" - inidir="${inidir/ext/ext-active}" - dodir "/${inidir}" - dosym "/${inifile}" "/${inifile/ext/ext-active}" - done - - # Add support for installing PHP files into a version dependant directory - PHP_EXT_SHARED_DIR="/usr/share/${PHP_SHARED_CAT}/${PHP_EXT_NAME}" -} - -php-ext-base-r1_addextension() { - if [[ "${PHP_EXT_ZENDEXT}" = "yes" ]] ; then - # We need the full path for ZendEngine extensions - # and we need to check for debugging enabled! - if has_zts ; then - if has_debug ; then - ext_type="zend_extension_debug_ts" - else - ext_type="zend_extension_ts" - fi - ext_file="${EXT_DIR}/$1" - else - if has_debug ; then - ext_type="zend_extension_debug" - else - ext_type="zend_extension" - fi - ext_file="${EXT_DIR}/$1" - fi - - # php-5.3 unifies zend_extension loading and just requires the - # zend_extension keyword with no suffix - # TODO: drop previous code and this check once <php-5.3 support is - # discontinued - if has_version '>=dev-lang/php-5.3' ; then - ext_type="zend_extension" - fi - else - # We don't need the full path for normal extensions! - ext_type="extension" - ext_file="$1" - fi - - php-ext-base-r1_addtoinifiles "${ext_type}" "${ext_file}" "Extension added" -} - -# $1 - Setting name -# $2 - Setting value -# $3 - File to add to -# $4 - Sanitized text to output -php-ext-base-r1_addtoinifile() { - if [[ ! -d $(dirname $3) ]] ; then - mkdir -p $(dirname $3) - fi - - # Are we adding the name of a section? - if [[ ${1:0:1} == "[" ]] ; then - echo "$1" >> "$3" - my_added="$1" - else - echo "$1=$2" >> "$3" - my_added="$1=$2" - fi - - if [[ -z "$4" ]] ; then - einfo "Added '$my_added' to /$3" - else - einfo "$4 to /$3" - fi - - insinto /$(dirname $3) - doins "$3" -} - -# @FUNCTION: php-ext-base-r1_addtoinifiles -# @USAGE: <setting name> <setting value> [message to output]; or just [section name] -# @DESCRIPTION: -# Add value settings to php.ini file installed by the extension (module). -# You can also add a [section], see examples below. -# -# @CODE -# Add some settings for the extension: -# -# php-ext-base-r1_addtoinifiles "zend_optimizer.optimization_level" "15" -# php-ext-base-r1_addtoinifiles "zend_optimizer.enable_loader" "0" -# php-ext-base-r1_addtoinifiles "zend_optimizer.disable_licensing" "0" -# -# Adding values to a section in php.ini file installed by the extension: -# -# php-ext-base-r1_addtoinifiles "[Debugger]" -# php-ext-base-r1_addtoinifiles "debugger.enabled" "on" -# php-ext-base-r1_addtoinifiles "debugger.profiler_enabled" "on" -# @CODE -php-ext-base-r1_addtoinifiles() { - for x in ${PHPINIFILELIST} ; do - php-ext-base-r1_addtoinifile "$1" "$2" "$x" "$3" - done -} diff --git a/eclass/php-ezc.eclass b/eclass/php-ezc.eclass deleted file mode 100644 index 04c06c1f5ef0..000000000000 --- a/eclass/php-ezc.eclass +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/php-ezc.eclass,v 1.8 2015/06/17 19:23:34 grknight Exp $ - -# @ECLASS: php-ezc.eclass -# @MAINTAINER: -# Gentoo PHP team <php-bugs@gentoo.org> -# @BLURB: Provides an easy installation of the eZcomponents. -# @DESCRIPTION: -# This eclass provides means for an easy installation of the eZ components. -# For more information on eZcomponents see http://ez.no/products/ez_components -# This eclass is no longer in use and scheduled to be removed on 2015-07-17 -# @DEAD - -inherit php-pear-r1 - -EZC_PKG_NAME="${PN/ezc-/}" - -fix_EZC_PV() { - tmp="${PV}" - tmp="${tmp/_/}" - tmp="${tmp/rc/RC}" - tmp="${tmp/beta/b}" - EZC_PV="${tmp}" -} - -# @ECLASS-VARIABLE: EZC_PV -# @DESCRIPTION: -# Set in ebuild before inherit if the eclass ${PV} mangling of beta/rc -# versions breaks SRC_URI. -[[ -z "${EZC_PV}" ]] && fix_EZC_PV - -EZC_PN="${EZC_PKG_NAME}-${EZC_PV}" - -S="${WORKDIR}/${EZC_PN}" - -DEPEND=">=dev-lang/php-5.1.2 - >=dev-php/PEAR-PEAR-1.4.6" - -# @ECLASS-VARIABLE: EZC_BASE_MIN -# @DESCRIPTION: -# Minimal dev-php/ezc-Base version required for given eZ component version. -# Set in ebuild before inherit. -[[ -z "${EZC_BASE_MIN}" ]] && EZC_BASE_MIN="1.0" - -if [[ "${PN}" != "ezc-Base" ]] ; then - RDEPEND="${DEPEND} >=dev-php/ezc-Base-${EZC_BASE_MIN}" -else - RDEPEND="${DEPEND}" -fi - -SRC_URI="http://components.ez.no/get/${EZC_PN}.tgz" -HOMEPAGE="http://ez.no/products/ez_components" -LICENSE="BSD" |