Skip to content

Commit

Permalink
php-ext-source-r2.eclass: add prefix support.
Browse files Browse the repository at this point in the history
The php-ext-source-r2 eclass sets a bunch of environment variables of
the form,

  PHPIZE="/usr/${libdir}/${1}/bin/phpize"

and also tests for the existence of an INI file using absolute
paths. To accomodate a prefix environment, all of these paths need to
be prefixed with $EPREFIX. This commit adds the prefix to all absolute
paths in the eclass. We then need to strip $EPREFIX from one
invocation of `insinto` which handles $EPREFIX in its own way.

This has been tested on =dev-php/pecl-imagick-3.3.0_rc2 in a prefix
environment.

Bug: 371985
Bug: 481410
  • Loading branch information
orlitzky committed Aug 30, 2015
1 parent be243b3 commit 852a595
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions eclass/php-ext-source-r2.eclass
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,9 @@ php-ext-source-r2_src_install() {
for slot in $(php_get_slots); do
php_init_slot_env ${slot}

# Let's put the default module away
insinto "${EXT_DIR}"
# Let's put the default module away. Strip $EPREFIX from
# $EXT_DIR before calling newins (which handles EPREFIX itself).
insinto "${EXT_DIR#$EPREFIX}"
newins "modules/${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so" || die "Unable to install extension"

local doc
Expand All @@ -217,12 +218,12 @@ php_get_slots() {
php_init_slot_env() {
libdir=$(get_libdir)

PHPIZE="/usr/${libdir}/${1}/bin/phpize"
PHPCONFIG="/usr/${libdir}/${1}/bin/php-config"
PHPCLI="/usr/${libdir}/${1}/bin/php"
PHPCGI="/usr/${libdir}/${1}/bin/php-cgi"
PHPIZE="${EPREFIX}/usr/${libdir}/${1}/bin/phpize"
PHPCONFIG="${EPREFIX}/usr/${libdir}/${1}/bin/php-config"
PHPCLI="${EPREFIX}/usr/${libdir}/${1}/bin/php"
PHPCGI="${EPREFIX}/usr/${libdir}/${1}/bin/php-cgi"
PHP_PKG="$(best_version =dev-lang/php-${1:3}*)"
PHPPREFIX="/usr/${libdir}/${slot}"
PHPPREFIX="${EPREFIX}}/usr/${libdir}/${slot}"
EXT_DIR="$(${PHPCONFIG} --extension-dir 2>/dev/null)"
PHP_CURRENTSLOT=${1:3}

Expand All @@ -239,7 +240,7 @@ php-ext-source-r2_buildinilist() {
PHPINIFILELIST=""
local x
for x in ${PHPSAPILIST} ; do
if [[ -f "/etc/php/${x}-${1}/php.ini" ]] ; then
if [[ -f "${EPREFIX}/etc/php/${x}-${1}/php.ini" ]] ; then
PHPINIFILELIST="${PHPINIFILELIST} etc/php/${x}-${1}/ext/${PHP_EXT_NAME}.ini"
fi
done
Expand Down Expand Up @@ -281,7 +282,7 @@ php-ext-source-r2_createinifiles() {
done

# Add support for installing PHP files into a version dependant directory
PHP_EXT_SHARED_DIR="/usr/share/php/${PHP_EXT_NAME}"
PHP_EXT_SHARED_DIR="${EPREFIX}/usr/share/php/${PHP_EXT_NAME}"
done
}

Expand Down

0 comments on commit 852a595

Please sign in to comment.