/[gentoo-x86]/eclass/php-pear-lib-r1.eclass
Gentoo

Contents of /eclass/php-pear-lib-r1.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (show annotations) (download)
Wed Jun 9 11:11:58 2010 UTC (4 years, 2 months ago) by mabi
Branch: MAIN
Changes since 1.15: +4 -2 lines
fix PEAR-PEAR dependency (bug #310633)

1 # Copyright 1999-2007 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-lib-r1.eclass,v 1.15 2009/01/12 22:48:06 maekke Exp $
4 #
5 # Author: Luca Longinotti <chtekk@gentoo.org>
6
7 # @ECLASS: php-pear-lib-r1.eclass
8 # @MAINTAINER:
9 # Gentoo PHP team <php-bugs@gentoo.org>
10 # @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
16 inherit depend.php multilib
17
18 EXPORT_FUNCTIONS src_install
19
20 DEPEND="dev-lang/php
21 || ( ( >=dev-php/PEAR-PEAR-1.6.1 <dev-php/PEAR-PEAR-1.8.1 )
22 >=dev-php/pear-1.8.1 )"
23 RDEPEND="${DEPEND}"
24
25 # @FUNCTION: php-pear-lib-r1_src_install
26 # @DESCRIPTION:
27 # Takes care of standard install for PEAR-based libraries.
28 php-pear-lib-r1_src_install() {
29 has_php
30
31 # SNMP support
32 addpredict /usr/share/snmp/mibs/.index
33 addpredict /var/lib/net-snmp/
34 addpredict /session_mm_cli0.sem
35
36 case "${CATEGORY}" in
37 dev-php)
38 if has_version '=dev-lang/php-5*' ; then
39 PHP_BIN="/usr/$(get_libdir)/php5/bin/php"
40 else
41 PHP_BIN="/usr/$(get_libdir)/php4/bin/php"
42 fi ;;
43 dev-php4) PHP_BIN="/usr/$(get_libdir)/php4/bin/php" ;;
44 dev-php5) PHP_BIN="/usr/$(get_libdir)/php5/bin/php" ;;
45 *) die "Version of PHP required by packages in category ${CATEGORY} unknown"
46 esac
47
48 cd "${S}"
49
50 if [[ -f "${WORKDIR}"/package2.xml ]] ; then
51 mv -f "${WORKDIR}/package2.xml" "${S}"
52 if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then
53 local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
54 pear -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
55 install --force --loose --nodeps --offline --packagingroot="${D}" \
56 "${S}/package2.xml" || die "Unable to install PEAR package"
57 else
58 pear -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \
59 "${S}/package2.xml" || die "Unable to install PEAR package"
60 fi
61 else
62 mv -f "${WORKDIR}/package.xml" "${S}"
63 if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then
64 local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
65 pear -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
66 install --force --loose --nodeps --offline --packagingroot="${D}" \
67 "${S}/package.xml" || die "Unable to install PEAR package"
68 else
69 pear -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \
70 "${S}/package.xml" || die "Unable to install PEAR package"
71 fi
72 fi
73
74 rm -Rf "${D}/usr/share/php/.channels" \
75 "${D}/usr/share/php/.depdblock" \
76 "${D}/usr/share/php/.depdb" \
77 "${D}/usr/share/php/.filemap" \
78 "${D}/usr/share/php/.lock" \
79 "${D}/usr/share/php/.registry"
80
81 # install to the correct phpX folder, if not specified
82 # /usr/share/php will be kept, also sedding to substitute
83 # the path, many files can specify it wrongly
84 if [[ -n "${PHP_SHARED_CAT}" ]] && [[ "${PHP_SHARED_CAT}" != "php" ]] ; then
85 mv -f "${D}/usr/share/php" "${D}/usr/share/${PHP_SHARED_CAT}" || die "Unable to move files"
86 find "${D}/" -type f -exec sed -e "s|/usr/share/php|/usr/share/${PHP_SHARED_CAT}|g" -i {} \; \
87 || die "Unable to change PHP path"
88 einfo
89 einfo "Installing to /usr/share/${PHP_SHARED_CAT} ..."
90 einfo
91 else
92 einfo
93 einfo "Installing to /usr/share/php ..."
94 einfo
95 fi
96 }

  ViewVC Help
Powered by ViewVC 1.1.20