[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] [PATCH 2/2] php-ext-source-r2.eclass: add prefix support.
From:       Michael Orlitzky <mjo () gentoo ! org>
Date:       2015-08-26 2:19:12
Message-ID: 1440555552-12929-3-git-send-email-mjo () gentoo ! org
[Download RAW message or body]

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
---
 eclass/php-ext-source-r2.eclass | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/eclass/php-ext-source-r2.eclass b/eclass/php-ext-source-r2.eclass
index 17073a9..ad82fee 100644
--- a/eclass/php-ext-source-r2.eclass
+++ b/eclass/php-ext-source-r2.eclass
@@ -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
@@ -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}
 
@@ -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
@@ -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
 }
 
-- 
2.4.6


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic