summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/php/php-5.2.17.ebuild')
-rw-r--r--dev-lang/php/php-5.2.17.ebuild389
1 files changed, 389 insertions, 0 deletions
diff --git a/dev-lang/php/php-5.2.17.ebuild b/dev-lang/php/php-5.2.17.ebuild
new file mode 100644
index 0000000..81ac6bd
--- /dev/null
+++ b/dev-lang/php/php-5.2.17.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/Attic/php-5.2.17.ebuild,v 1.18 2012/01/21 09:49:56 olemarkus dead $
+
+EAPI=2
+
+PHPCONFUTILS_MISSING_DEPS="adabas birdstep db2 dbmaker empress empress-bcs esoob
+interbase msql oci8 sapdb solid"
+
+inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use phpconfutils php-common-r1 libtool
+
+#SUHOSIN_VERSION="$PV-0.9.7"
+SUHOSIN_VERSION="5.2.16-0.9.7"
+EXPECTED_TEST_FAILURES=""
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
+
+function php_get_uri ()
+{
+ case "${1}" in
+ "php-pre")
+ echo "http://downloads.php.net/johannes/${2}"
+ ;;
+ "php")
+ echo "http://www.php.net/distributions/${2}"
+ ;;
+ "suhosin")
+ echo "http://download.suhosin.org/${2}"
+ ;;
+ "gentoo")
+ echo "mirror://gentoo/${2}"
+ ;;
+ *)
+ die "unhandled case in php_get_uri"
+ ;;
+ esac
+}
+
+PHP_MV="$(get_major_version)"
+
+# alias, so we can handle different types of releases (finals, rcs, alphas,
+# betas, ...) w/o changing the whole ebuild
+PHP_PV="${PV/_rc/RC}"
+PHP_RELEASE="php"
+PHP_P="${PN}-${PHP_PV}"
+PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
+
+PHP_PATCHSET="0"
+PHP_PATCHSET_URI="
+ $(php_get_uri gentoo "php-patchset-${PV}-r${PHP_PATCHSET}.tar.bz2")"
+
+if [[ ${SUHOSIN_VERSION} == *-gentoo ]]; then
+ # in some cases we use our own suhosin patch (very recent version,
+ # patch conflicts, etc.)
+ SUHOSIN_TYPE="gentoo"
+else
+ SUHOSIN_TYPE="suhosin"
+fi
+
+if [[ -n ${SUHOSIN_VERSION} ]]; then
+ SUHOSIN_PATCH="suhosin-patch-${SUHOSIN_VERSION}.patch"
+ SUHOSIN_URI="$(php_get_uri ${SUHOSIN_TYPE} ${SUHOSIN_PATCH}.gz )"
+fi
+
+SRC_URI="
+ ${PHP_SRC_URI}
+ ${PHP_PATCHSET_URI}"
+
+if [[ -n ${SUHOSIN_VERSION} ]]; then
+ SRC_URI="${SRC_URI}
+ suhosin? ( ${SUHOSIN_URI} )"
+fi
+
+DESCRIPTION="The PHP language runtime engine: CLI, CGI, Apache2 and embed SAPIs."
+HOMEPAGE="http://php.net/"
+LICENSE="PHP-3"
+
+# We can build the following SAPIs in the given order
+SAPIS="cli cgi embed apache2"
+
+# Gentoo-specific, common features
+IUSE="kolab"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads force-cgi-redirect discard-path"
+
+IUSE="${IUSE} adabas bcmath berkdb birdstep bzip2 calendar cdb cjk
+ crypt +ctype curl curlwrappers db2 dbase dbmaker debug doc empress
+ empress-bcs esoob exif fdftk frontbase +filter firebird
+ flatfile ftp gd gd-external gdbm gmp +hash +iconv imap inifile
+ interbase iodbc ipv6 +json kerberos ldap ldap-sasl libedit
+ mhash msql mssql mysql mysqli ncurses nls oci8
+ oci8-instant-client odbc pcntl +pcre pdo pic +posix postgres qdbm
+ readline recode reflection sapdb +session sharedext sharedmem
+ +simplexml snmp soap sockets solid spell spl sqlite ssl suhosin
+ sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
+ xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib"
+
+# Enable suhosin if available
+[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
+
+DEPEND=">=app-admin/eselect-php-0.6.2
+ pcre? ( >=dev-libs/libpcre-7.9[unicode] )
+ adabas? ( >=dev-db/unixODBC-1.8.13 )
+ apache2? ( www-servers/apache[threads=] )
+ berkdb? ( =sys-libs/db-4* )
+ birdstep? ( >=dev-db/unixODBC-1.8.13 )
+ bzip2? ( app-arch/bzip2 )
+ cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+ cjk? ( !gd? ( !gd-external? (
+ virtual/jpeg
+ media-libs/libpng
+ sys-libs/zlib
+ ) ) )
+ crypt? ( >=dev-libs/libmcrypt-2.4 )
+ curl? ( >=net-misc/curl-7.10.5 )
+ db2? ( >=dev-db/unixODBC-1.8.13 )
+ dbmaker? ( >=dev-db/unixODBC-1.8.13 )
+ empress? ( >=dev-db/unixODBC-1.8.13 )
+ empress-bcs? ( >=dev-db/unixODBC-1.8.13 )
+ esoob? ( >=dev-db/unixODBC-1.8.13 )
+ exif? ( !gd? ( !gd-external? (
+ virtual/jpeg
+ media-libs/libpng
+ sys-libs/zlib
+ ) ) )
+ fdftk? ( app-text/fdftk )
+ firebird? ( dev-db/firebird )
+ gd? ( virtual/jpeg media-libs/libpng sys-libs/zlib )
+ gd-external? ( media-libs/gd )
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ gmp? ( >=dev-libs/gmp-4.1.2 )
+ iconv? ( virtual/libiconv )
+ imap? ( virtual/imap-c-client[ssl=] )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ kolab? ( >=net-libs/c-client-2004g-r1 )
+ ldap? ( !oci8? ( >=net-nds/openldap-1.2.11 ) )
+ ldap-sasl? ( !oci8? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) )
+ libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+ mhash? ( app-crypt/mhash )
+ mssql? ( dev-db/freetds[mssql] )
+ mysql? ( virtual/mysql )
+ mysqli? ( >=virtual/mysql-4.1 )
+ ncurses? ( sys-libs/ncurses )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+ odbc? ( >=dev-db/unixODBC-1.8.13 )
+ postgres? ( dev-db/postgresql-base )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline )
+ recode? ( app-text/recode )
+ sapdb? ( >=dev-db/unixODBC-1.8.13 )
+ sharedmem? ( dev-libs/mm )
+ simplexml? ( >=dev-libs/libxml2-2.6.8 )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ soap? ( >=dev-libs/libxml2-2.6.8 )
+ solid? ( >=dev-db/unixODBC-1.8.13 )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( =dev-db/sqlite-2* pdo? ( =dev-db/sqlite-3* ) )
+ ssl? ( >=dev-libs/openssl-0.9.7 )
+ sybase-ct? ( dev-db/freetds )
+ tidy? ( app-text/htmltidy )
+ truetype? (
+ =media-libs/freetype-2*
+ >=media-libs/t1lib-5.0.0
+ !gd? ( !gd-external? (
+ virtual/jpeg media-libs/libpng sys-libs/zlib ) )
+ )
+ wddx? ( >=dev-libs/libxml2-2.6.8 )
+ xml? ( >=dev-libs/libxml2-2.6.8 )
+ xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+ xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+ xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+ xpm? (
+ x11-libs/libXpm
+ virtual/jpeg
+ media-libs/libpng sys-libs/zlib
+ )
+ xsl? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+ zip? ( sys-libs/zlib )
+ zlib? ( sys-libs/zlib )
+ virtual/mta
+"
+
+php="=${CATEGORY}/${PF}"
+RDEPEND="${DEPEND}
+ truetype? ( || ( $php[gd] $php[gd-external] ) )
+ cjk? ( || ( $php[gd] $php[gd-external] ) )
+ exif? ( || ( $php[gd] $php[gd-external] ) )
+
+ xpm? ( $php[gd] )
+ gd? ( $php[zlib,-gd-external] )
+ gd-external? ( $php[-gd] )
+ simplexml? ( $php[xml] )
+ soap? ( $php[xml] )
+ wddx? ( $php[xml] )
+ xmlrpc? ( || ( $php[xml] $php[iconv] ) )
+ xmlreader? ( $php[xml] )
+ xsl? ( $php[xml] )
+ ldap-sasl? ( $php[ldap,-oci8] )
+ suhosin? ( $php[unicode] )
+ adabas? ( $php[odbc] )
+ birdstep? ( $php[odbc] )
+ dbmaker? ( $php[odbc] )
+ empress-bcs? ( $php[empress] )
+ empress? ( $php[odbc] )
+ esoob? ( $php[odbc] )
+ db2? ( $php[odbc] )
+ sapdb? ( $php[odbc] )
+ solid? ( $php[odbc] )
+ kolab? ( $php[imap] )
+
+ oci8? ( $php[-oci8-instant-client,-ldap-sasl] )
+ oci8-instant-client? ( $php[-oci8] )
+
+ qdbm? ( $php[-gdbm] )
+ readline? ( $php[-libedit] )
+ recode? ( $php[-imap,-mysql,-mysqli] )
+ firebird? ( $php[-interbase] )
+ sharedmem? ( $php[-threads] )
+
+ !cli? ( !cgi? ( !apache2? ( !embed? ( $php[cli] ) ) ) )
+
+ filter? ( !dev-php${PHP_MV}/pecl-filter )
+ json? ( !dev-php${PHP_MV}/pecl-json )
+ zip? ( !dev-php${PHP_MV}/pecl-zip )"
+
+[[ -n $SUHOSIN_VERSION ]] && RDEPEND="${RDEPEND} suhosin? ( $php[unicode] )"
+
+DEPEND="${DEPEND}
+ sys-devel/flex
+ >=sys-devel/m4-1.4.3
+ >=sys-devel/libtool-1.5.18"
+
+# They are in PDEPEND because we need PHP installed first!
+PDEPEND="doc? ( app-doc/php-docs )"
+
+SLOT="$(get_version_component_range 1-2)"
+S="${WORKDIR}/${PHP_P}"
+
+# Allow users to install production version if they want to
+# PHP 5.2 has other filenames for prod and dev versions
+
+case "${PHP_INI_VERSION}" in
+ production)
+ PHP_INI_UPSTREAM="php.ini-recommended"
+ ;;
+ development)
+ PHP_INI_UPSTREAM="php.ini-dist"
+ ;;
+ *)
+ PHP_INI_VERSION="development"
+ PHP_INI_UPSTREAM="php.ini-dist"
+ ;;
+esac
+
+PHP_INI_FILE="php.ini"
+
+want_apache
+
+# eblit-core
+# Usage: <function> [version] [eval]
+# Main eblit engine
+eblit-core() {
+ [[ -z $FILESDIR ]] && FILESDIR="$(dirname $EBUILD)/files"
+ local e v func=$1 ver=$2 eval_=$3
+ for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+ e="${FILESDIR}/eblits/${func}${v}.eblit"
+ if [[ -e ${e} ]] ; then
+ . "${e}"
+ [[ ${eval_} == 1 ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
+ return 0
+ fi
+ done
+ return 1
+}
+
+# eblit-include
+# Usage: [--skip] <function> [version]
+# Includes an "eblit" -- a chunk of common code among ebuilds in a given
+# package so that its functions can be sourced and utilized within the
+# ebuild.
+eblit-include() {
+ local skipable=false r=0
+ [[ $1 == "--skip" ]] && skipable=true && shift
+ [[ $1 == pkg_* ]] && skipable=true
+
+ [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
+ eblit-core $1 $2
+ r="$?"
+ ${skipable} && return 0
+ [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe
+# Usage: <function>
+# Runs a function if it is defined in an eblit
+eblit-run-maybe() {
+ [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run
+# Usage: <function> [version]
+# Runs a function defined in an eblit
+eblit-run() {
+ eblit-include --skip common "v2"
+ eblit-include "$@"
+ eblit-run-maybe eblit-$1-pre
+ eblit-${PN}-$1
+ eblit-run-maybe eblit-$1-post
+}
+
+# eblit-pkg
+# Usage: <phase> [version]
+# Includes the given functions AND evals them so they're included in the binpkgs
+eblit-pkg() {
+ [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
+ eblit-core $1 $2 1
+}
+
+eblit-pkg pkg_setup v2
+
+src_prepare() { eblit-run src_prepare v2 ; }
+src_configure() { eblit-run src_configure v521 ; }
+src_compile() { eblit-run src_compile v1 ; }
+src_install() { eblit-run src_install v2 ; }
+src_test() { eblit-run src_test v1 ; }
+
+#Do not use eblit for this because it will not get sourced when installing from
+#binary package (bug #380845)
+pkg_postinst() {
+ # Output some general info to the user
+ if use apache2 ; then
+ APACHE2_MOD_DEFINE="PHP5"
+ APACHE2_MOD_CONF="70_mod_php5"
+ apache-module_pkg_postinst
+ fi
+
+ # Create the symlinks for php
+ for m in ${SAPIS}; do
+ [[ ${m} == 'embed' ]] && continue;
+ if use $m ; then
+ local ci=$(eselect php show $m)
+ if [[ -z $ci ]]; then
+ eselect php set $m php${SLOT}
+ einfo "Switched ${m} to use php:${SLOT}"
+ einfo
+ elif [[ $ci != "php${SLOT}" ]] ; then
+ elog "To switch $m to use php:${SLOT}, run"
+ elog " eselect php set $m php${SLOT}"
+ elog
+ fi
+ fi
+ done
+
+ elog "Make sure that PHP_TARGETS in /etc/make.conf includes php${SLOT/./-} in order"
+ elog "to compile extensions for the ${SLOT} ABI"
+ elog
+ if ! use readline && use cli ; then
+ ewarn "Note that in order to use php interactivly, you need to enable"
+ ewarn "the readline USE flag or php -a will hang"
+ fi
+ elog
+ elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
+ elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
+ elog "'production' or 'development' in /etc/make.conf"
+ ewarn "Both versions of php.ini can be found in /usr/share/doc/${PF}"
+
+ # check for not yet migrated old style config dirs
+ ls "${ROOT}"/etc/php/*-php5 &>/dev/null
+ if [[ $? -eq 0 ]]; then
+ ewarn "Make sure to migrate your config files, starting with php-5.3.4 and php-5.2.16 config"
+ ewarn "files are now kept at ${ROOT}etc/php/{apache2,cli,cgi,fpm}-php5.x"
+ fi
+ elog
+ elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
+ elog "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
+ elog
+
+ if ( [[ -z SUHOSIN_VERSION ]] && use suhosin && version_is_at_least 5.3.6_rc1 ) ; then
+ ewarn "The suhosin USE flag now only installs the suhosin patch!"
+ ewarn "If you want the suhosin extension, make sure you install"
+ ewarn " dev-php/suhosin"
+ ewarn
+ fi
+}