71 lines
2.6 KiB
Plaintext
71 lines
2.6 KiB
Plaintext
|
# Copyright 1999-2010 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_prepare-v1.eblit,v 1.3 2010/06/01 16:17:05 mabi Exp $
|
||
|
|
||
|
eblit-php-src_prepare() {
|
||
|
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
|
||
|
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
|
||
|
# there is no easy way to circumvent that, all php calls during
|
||
|
# install use -n, so no php.ini file will be used.
|
||
|
# As such, this is the easiest way to get around
|
||
|
addpredict /session_mm_cli250.sem
|
||
|
addpredict /session_mm_cli0.sem
|
||
|
|
||
|
# Concurrent PHP Apache2 modules support
|
||
|
use apache2 && use concurrentmodphp && \
|
||
|
epatch "${WORKDIR}/${PV}/opt/concurrent_apache_modules.patch"
|
||
|
|
||
|
# kolab support (support for imap annotations)
|
||
|
use kolab && epatch "${WORKDIR}/${PV}/opt/imap-kolab-annotations.patch"
|
||
|
|
||
|
# Change PHP branding
|
||
|
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1${PHP_EXTRA_BRANDING}-pl${PR/r/}-gentoo\2|g" \
|
||
|
-i configure.in || die "Unable to change PHP branding"
|
||
|
|
||
|
# Apply generic PHP patches
|
||
|
EPATCH_SOURCE="${WORKDIR}/${PV}/generic" EPATCH_SUFFIX="patch" \
|
||
|
EPATCH_FORCE="yes" \
|
||
|
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
|
||
|
|
||
|
# Patch PHP to show Gentoo as the server platform
|
||
|
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
|
||
|
-i configure.in || die "Failed to fix server platform name"
|
||
|
|
||
|
# Prevent PHP from activating the Apache config,
|
||
|
# as we will do that ourselves
|
||
|
sed -i \
|
||
|
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
|
||
|
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
|
||
|
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
|
||
|
|
||
|
# Patch PHP to support heimdal instead of mit-krb5
|
||
|
if has_version "app-crypt/heimdal" ; then
|
||
|
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|
||
|
|| die "Failed to fix heimdal libname"
|
||
|
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|
||
|
|| die "Failed to fix heimdal crypt library reference"
|
||
|
fi
|
||
|
|
||
|
# Suhosin support
|
||
|
if use suhosin ; then
|
||
|
epatch "${WORKDIR}/${SUHOSIN_PATCH}"
|
||
|
fi
|
||
|
|
||
|
# rebuild the whole autotools stuff as we are heavily patching it
|
||
|
# (suhosin, fastbuild, ...)
|
||
|
|
||
|
# eaclocal doesn't accept --force, so we try to force re-generation
|
||
|
# this way
|
||
|
rm aclocal.m4
|
||
|
|
||
|
# work around divert() issues with newer autoconf, bug #281697
|
||
|
if has_version '>=sys-devel/autoconf-2.64' ; then
|
||
|
sed -i -r \
|
||
|
-e 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
|
||
|
$(grep -l divert $(find . -name '*.m4') configure.in) || die
|
||
|
fi
|
||
|
eautoreconf --force -W no-cross
|
||
|
}
|
||
|
|
||
|
|