1 | # Copyright 1999-2005 Gentoo Foundation |
1 | # Copyright 1999-2007 Gentoo Foundation |
2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-r1.eclass,v 1.12 2006/02/02 11:53:09 sebastian Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-r1.eclass,v 1.14 2007/03/05 01:50:47 chtekk Exp $ |
4 | # |
4 | # |
5 | # Author: Tal Peer <coredumb@gentoo.org> |
5 | # Author: Tal Peer <coredumb@gentoo.org> |
|
|
6 | # Author: Luca Longinotti <chtekk@gentoo.org> |
6 | # Maintained by the PHP Herd <php-bugs@gentoo.org> |
7 | # Maintained by the PHP Team <php-bugs@gentoo.org> |
7 | # |
8 | # |
8 | # The php-pear-r1 eclass provides means for an easy installation of PEAR |
9 | # The php-pear-r1 eclass provides means for an easy installation of PEAR |
9 | # packages, see http://pear.php.net |
10 | # packages, see http://pear.php.net/ |
10 | |
11 | |
11 | # Note that this eclass doesn't handle PEAR packages' dependencies on |
12 | # Note that this eclass doesn't handle PEAR packages' dependencies on |
12 | # purpose, please use (R)DEPEND to define them. |
13 | # purpose, please use (R)DEPEND to define them correctly! |
13 | |
14 | |
14 | EXPORT_FUNCTIONS src_install |
15 | EXPORT_FUNCTIONS src_install |
15 | |
16 | |
16 | # Set this is the the package name on PEAR is different than the one in |
17 | DEPEND="dev-lang/php >=dev-php/PEAR-PEAR-1.4.6" |
17 | # portage (generally shouldn't be the case). |
18 | RDEPEND="${DEPEND}" |
18 | [ -z "${PHP_PEAR_PKG_NAME}" ] && PHP_PEAR_PKG_NAME=${PN/PEAR-/} |
|
|
19 | |
19 | |
20 | # We must depend on the base package as we need it to do |
20 | # Set this if the the PEAR package name is different than the one in |
21 | # install tasks (it provides the pear binary). |
21 | # Portage (generally shouldn't be the case). |
22 | DEPEND="${DEPEND} dev-lang/php >=dev-php/PEAR-PEAR-1.3.6" |
22 | [[ -z "${PHP_PEAR_PKG_NAME}" ]] && PHP_PEAR_PKG_NAME="${PN/PEAR-/}" |
23 | RDEPEND="${RDEPEND} ${DEPEND}" |
|
|
24 | |
23 | |
25 | fix_PEAR_PV() { |
24 | fix_PEAR_PV() { |
26 | tmp=${PV} |
25 | tmp="${PV}" |
27 | tmp=${tmp/_/} |
26 | tmp="${tmp/_/}" |
28 | tmp=${tmp/rc/RC} |
27 | tmp="${tmp/rc/RC}" |
29 | tmp=${tmp/beta/b} |
28 | tmp="${tmp/beta/b}" |
30 | PEAR_PV=${tmp} |
29 | PEAR_PV="${tmp}" |
31 | } |
30 | } |
32 | |
31 | |
33 | PEAR_PV="" |
32 | PEAR_PV="" |
34 | fix_PEAR_PV |
33 | fix_PEAR_PV |
35 | PEAR_PN=${PHP_PEAR_PKG_NAME}-${PEAR_PV} |
34 | PEAR_PN="${PHP_PEAR_PKG_NAME}-${PEAR_PV}" |
36 | |
35 | |
37 | [ -z "${SRC_URI}" ] && SRC_URI="http://pear.php.net/get/${PEAR_PN}.tgz" |
36 | [[ -z "${SRC_URI}" ]] && SRC_URI="http://pear.php.net/get/${PEAR_PN}.tgz" |
38 | [ -z "${HOMEPAGE}" ] && HOMEPAGE="http://pear.php.net/${PHP_PEAR_PKG_NAME}" |
37 | [[ -z "${HOMEPAGE}" ]] && HOMEPAGE="http://pear.php.net/${PHP_PEAR_PKG_NAME}" |
39 | |
38 | |
40 | S="${WORKDIR}/${PEAR_PN}" |
39 | S="${WORKDIR}/${PEAR_PN}" |
41 | |
40 | |
42 | php-pear-r1_src_install() { |
41 | php-pear-r1_src_install() { |
43 | # SNMP support |
42 | # SNMP support |
… | |
… | |
51 | else |
50 | else |
52 | PHP_BIN="/usr/lib/php4/bin/php" |
51 | PHP_BIN="/usr/lib/php4/bin/php" |
53 | fi ;; |
52 | fi ;; |
54 | dev-php4) PHP_BIN="/usr/lib/php4/bin/php" ;; |
53 | dev-php4) PHP_BIN="/usr/lib/php4/bin/php" ;; |
55 | dev-php5) PHP_BIN="/usr/lib/php5/bin/php" ;; |
54 | dev-php5) PHP_BIN="/usr/lib/php5/bin/php" ;; |
56 | *) die "I don't know which version of PHP packages in ${CATEGORY} require" |
55 | *) die "Version of PHP required by packages in category ${CATEGORY} unknown" |
57 | esac |
56 | esac |
58 | |
57 | |
59 | cd "${S}" |
58 | cd "${S}" |
60 | mv "${WORKDIR}/package.xml" "${S}" |
59 | mv -f "${WORKDIR}/package.xml" "${S}" |
|
|
60 | |
61 | if has_version '=dev-php/PEAR-PEAR-1.3*' ; then |
61 | if has_version '>=dev-php/PEAR-PEAR-1.4.8' ; then |
62 | pear -d php_bin="${PHP_BIN}" install --nodeps --installroot="${D}" "${S}/package.xml" || die "Unable to install PEAR package" |
62 | pear -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" "${S}/package.xml" > /dev/null || die "Unable to install PEAR package" |
63 | else |
63 | else |
64 | pear -d php_bin="${PHP_BIN}" install --nodeps --packagingroot="${D}" "${S}/package.xml" || die "Unable to install PEAR package" |
64 | pear -d php_bin="${PHP_BIN}" install --nodeps --packagingroot="${D}" "${S}/package.xml" > /dev/null || die "Unable to install PEAR package" |
65 | fi |
65 | fi |
|
|
66 | |
66 | rm -rf "${D}/usr/share/php/.channels" \ |
67 | rm -Rf "${D}/usr/share/php/.channels" \ |
67 | "${D}/usr/share/php/.depdblock" \ |
68 | "${D}/usr/share/php/.depdblock" \ |
68 | "${D}/usr/share/php/.depdb" \ |
69 | "${D}/usr/share/php/.depdb" \ |
69 | "${D}/usr/share/php/.filemap" \ |
70 | "${D}/usr/share/php/.filemap" \ |
70 | "${D}/usr/share/php/.lock" \ |
71 | "${D}/usr/share/php/.lock" \ |
71 | "${D}/usr/share/php/.registry" |
72 | "${D}/usr/share/php/.registry" |