| 1 |
vapier |
1.24 |
# Copyright 1999-2011 Gentoo Foundation |
| 2 |
chtekk |
1.1 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
vapier |
1.24 |
# $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-lib-r1.eclass,v 1.23 2011/06/28 07:03:59 olemarkus Exp $ |
| 4 |
jokey |
1.12 |
|
| 5 |
|
|
# @ECLASS: php-pear-lib-r1.eclass |
| 6 |
|
|
# @MAINTAINER: |
| 7 |
|
|
# Gentoo PHP team <php-bugs@gentoo.org> |
| 8 |
vapier |
1.24 |
# @AUTHOR: |
| 9 |
|
|
# Author: Luca Longinotti <chtekk@gentoo.org> |
| 10 |
jokey |
1.12 |
# @BLURB: Provides means for an easy installation of PEAR-based libraries. |
| 11 |
|
|
# @DESCRIPTION: |
| 12 |
|
|
# This class provides means for an easy installation of PEAR-based libraries, |
| 13 |
|
|
# such as Creole, Jargon, Phing etc., while retaining the functionality to put |
| 14 |
|
|
# the libraries into version-dependant directories. |
| 15 |
chtekk |
1.1 |
|
| 16 |
armin76 |
1.13 |
inherit depend.php multilib |
| 17 |
chtekk |
1.1 |
|
| 18 |
olemarkus |
1.20 |
EXPORT_FUNCTIONS pkg_setup src_install |
| 19 |
chtekk |
1.1 |
|
| 20 |
mabi |
1.16 |
DEPEND="dev-lang/php |
| 21 |
olemarkus |
1.20 |
>=dev-php/pear-1.9.0" |
| 22 |
chtekk |
1.10 |
RDEPEND="${DEPEND}" |
| 23 |
chtekk |
1.1 |
|
| 24 |
olemarkus |
1.20 |
if [[ -n $PHP_PEAR_CHANNEL ]] ; then |
| 25 |
|
|
PHP_PEAR_PV=${PV/_rc/RC} |
| 26 |
|
|
[[ -z ${PHP_PEAR_PN} ]] && die "Missing PHP_PEAR_PN. Please notify the maintainer" |
| 27 |
|
|
PHP_PEAR_P=${PHP_PEAR_PN}-${PHP_PEAR_PV} |
| 28 |
|
|
|
| 29 |
|
|
S=${WORKDIR}/${PHP_PEAR_P} |
| 30 |
|
|
|
| 31 |
olemarkus |
1.23 |
SRC_URI="http://${PHP_PEAR_URI}/get/${PHP_PEAR_P}.tgz" |
| 32 |
olemarkus |
1.20 |
fi |
| 33 |
|
|
|
| 34 |
|
|
|
| 35 |
|
|
# @FUNCTION: php-pear-lib-r1_pkg_setup |
| 36 |
vapier |
1.24 |
# @DESCRIPTION: |
| 37 |
olemarkus |
1.20 |
# Adds required PEAR channel if necessary |
| 38 |
|
|
php-pear-lib-r1_pkg_setup() { |
| 39 |
|
|
if [[ -n $PHP_PEAR_CHANNEL ]] ; then |
| 40 |
olemarkus |
1.22 |
if [[ -f $PHP_PEAR_CHANNEL ]]; then |
| 41 |
|
|
pear channel-add $PHP_PEAR_CHANNEL |
| 42 |
vapier |
1.24 |
else |
| 43 |
olemarkus |
1.22 |
pear channel-discover $PHP_PEAR_CHANNEL |
| 44 |
|
|
pear channel-update $PHP_PEAR_CHANNEL |
| 45 |
|
|
fi |
| 46 |
olemarkus |
1.20 |
fi |
| 47 |
|
|
} |
| 48 |
|
|
|
| 49 |
|
|
|
| 50 |
jokey |
1.12 |
# @FUNCTION: php-pear-lib-r1_src_install |
| 51 |
|
|
# @DESCRIPTION: |
| 52 |
|
|
# Takes care of standard install for PEAR-based libraries. |
| 53 |
chtekk |
1.1 |
php-pear-lib-r1_src_install() { |
| 54 |
|
|
has_php |
| 55 |
|
|
|
| 56 |
|
|
# SNMP support |
| 57 |
|
|
addpredict /usr/share/snmp/mibs/.index |
| 58 |
|
|
addpredict /var/lib/net-snmp/ |
| 59 |
chtekk |
1.11 |
addpredict /session_mm_cli0.sem |
| 60 |
chtekk |
1.1 |
|
| 61 |
olemarkus |
1.19 |
PHP_BIN="/usr/bin/php" |
| 62 |
sebastian |
1.3 |
|
| 63 |
chtekk |
1.1 |
cd "${S}" |
| 64 |
sebastian |
1.9 |
|
| 65 |
maekke |
1.15 |
if [[ -f "${WORKDIR}"/package2.xml ]] ; then |
| 66 |
|
|
mv -f "${WORKDIR}/package2.xml" "${S}" |
| 67 |
olemarkus |
1.20 |
local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
| 68 |
|
|
peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
| 69 |
|
|
install --force --loose --nodeps --offline --packagingroot="${D}" \ |
| 70 |
|
|
"${S}/package2.xml" || die "Unable to install PEAR package" |
| 71 |
maekke |
1.15 |
else |
| 72 |
|
|
mv -f "${WORKDIR}/package.xml" "${S}" |
| 73 |
olemarkus |
1.20 |
local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
| 74 |
|
|
peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
| 75 |
|
|
install --force --loose --nodeps --offline --packagingroot="${D}" \ |
| 76 |
|
|
"${S}/package.xml" || die "Unable to install PEAR package" |
| 77 |
maekke |
1.15 |
fi |
| 78 |
sebastian |
1.9 |
|
| 79 |
chtekk |
1.10 |
rm -Rf "${D}/usr/share/php/.channels" \ |
| 80 |
sebastian |
1.5 |
"${D}/usr/share/php/.depdblock" \ |
| 81 |
|
|
"${D}/usr/share/php/.depdb" \ |
| 82 |
|
|
"${D}/usr/share/php/.filemap" \ |
| 83 |
chtekk |
1.1 |
"${D}/usr/share/php/.lock" \ |
| 84 |
|
|
"${D}/usr/share/php/.registry" |
| 85 |
|
|
|
| 86 |
|
|
# install to the correct phpX folder, if not specified |
| 87 |
chtekk |
1.6 |
# /usr/share/php will be kept, also sedding to substitute |
| 88 |
chtekk |
1.1 |
# the path, many files can specify it wrongly |
| 89 |
chtekk |
1.10 |
if [[ -n "${PHP_SHARED_CAT}" ]] && [[ "${PHP_SHARED_CAT}" != "php" ]] ; then |
| 90 |
chtekk |
1.1 |
mv -f "${D}/usr/share/php" "${D}/usr/share/${PHP_SHARED_CAT}" || die "Unable to move files" |
| 91 |
armin76 |
1.13 |
find "${D}/" -type f -exec sed -e "s|/usr/share/php|/usr/share/${PHP_SHARED_CAT}|g" -i {} \; \ |
| 92 |
|
|
|| die "Unable to change PHP path" |
| 93 |
chtekk |
1.1 |
einfo |
| 94 |
|
|
einfo "Installing to /usr/share/${PHP_SHARED_CAT} ..." |
| 95 |
|
|
einfo |
| 96 |
|
|
else |
| 97 |
|
|
einfo |
| 98 |
|
|
einfo "Installing to /usr/share/php ..." |
| 99 |
|
|
einfo |
| 100 |
|
|
fi |
| 101 |
|
|
} |