| 1 | # Copyright 1999-2005 Gentoo Foundation |
1 | # Copyright 1999-2011 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.1.1.1 2005/11/30 09:59:18 chriswhite Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-r1.eclass,v 1.30 2012/08/22 15:06:20 olemarkus Exp $ |
| 4 | # |
4 | |
|
|
5 | # @ECLASS: php-pear-r1.eclass |
|
|
6 | # @MAINTAINER: |
|
|
7 | # Gentoo PHP Team <php-bugs@gentoo.org> |
|
|
8 | # @AUTHOR: |
| 5 | # Author: Tal Peer <coredumb@gentoo.org> |
9 | # Author: Tal Peer <coredumb@gentoo.org> |
| 6 | # Maintained by the PHP Herd <php-bugs@gentoo.org> |
10 | # Author: Luca Longinotti <chtekk@gentoo.org> |
| 7 | # |
11 | # @BLURB: Provides means for an easy installation of PEAR packages. |
|
|
12 | # @DESCRIPTION: |
| 8 | # The php-pear-r1 eclass provides means for an easy installation of PEAR |
13 | # This eclass provides means for an easy installation of PEAR packages. |
| 9 | # packages, see http://pear.php.net |
14 | # For more information on PEAR, see http://pear.php.net/ |
|
|
15 | # Note that this eclass doesn't handle dependencies of PEAR packages |
|
|
16 | # on purpose; please use (R)DEPEND to define them correctly! |
| 10 | |
17 | |
| 11 | # Note that this eclass doesn't handle PEAR packages' dependencies on |
18 | inherit multilib |
| 12 | # purpose, please use (R)DEPEND to define them. |
|
|
| 13 | |
19 | |
| 14 | EXPORT_FUNCTIONS src_install |
20 | EXPORT_FUNCTIONS src_install |
| 15 | |
21 | |
| 16 | # Set this is the the package name on PEAR is different than the one in |
22 | DEPEND="dev-lang/php |
| 17 | # portage (generally shouldn't be the case). |
23 | >=dev-php/pear-1.8.1" |
| 18 | [ -z "${PHP_PEAR_PKG_NAME}" ] && PHP_PEAR_PKG_NAME=${PN/PEAR-/} |
24 | RDEPEND="${DEPEND}" |
| 19 | |
25 | |
| 20 | # We must depend on the base package as we need it to do |
26 | # @ECLASS-VARIABLE: PHP_PEAR_PKG_NAME |
| 21 | # install tasks (it provides the pear binary). |
27 | # @DESCRIPTION: |
| 22 | DEPEND="${DEPEND} dev-lang/php >=dev-php/PEAR-PEAR-1.3.6" |
28 | # Set this if the the PEAR package name differs from ${PN/PEAR-/} |
| 23 | RDEPEND="${RDEPEND} ${DEPEND}" |
29 | # (generally shouldn't be the case). |
|
|
30 | [[ -z "${PHP_PEAR_PKG_NAME}" ]] && PHP_PEAR_PKG_NAME="${PN/PEAR-/}" |
| 24 | |
31 | |
| 25 | fix_PEAR_PV() { |
32 | fix_PEAR_PV() { |
| 26 | tmp=${PV} |
33 | tmp="${PV}" |
| 27 | tmp=${tmp/_/} |
34 | tmp="${tmp/_/}" |
| 28 | tmp=${tmp/rc/RC} |
35 | tmp="${tmp/rc/RC}" |
| 29 | tmp=${tmp/beta/b} |
36 | tmp="${tmp/beta/b}" |
|
|
37 | tmp="${tmp/alpha/a}" |
| 30 | PEAR_PV=${tmp} |
38 | PEAR_PV="${tmp}" |
| 31 | } |
39 | } |
| 32 | |
40 | |
| 33 | PEAR_PV="" |
41 | # @ECLASS-VARIABLE: PEAR_PV |
| 34 | fix_PEAR_PV |
42 | # @DESCRIPTION: |
| 35 | PEAR_PN=${PHP_PEAR_PKG_NAME}-${PEAR_PV} |
43 | # Set in ebuild if the eclass ${PV} mangling breaks SRC_URI for alpha/beta/rc versions |
|
|
44 | [[ -z "${PEAR_PV}" ]] && fix_PEAR_PV |
| 36 | |
45 | |
|
|
46 | PEAR_PN="${PHP_PEAR_PKG_NAME}-${PEAR_PV}" |
|
|
47 | |
| 37 | [ -z "${SRC_URI}" ] && SRC_URI="http://pear.php.net/get/${PEAR_PN}.tgz" |
48 | [[ -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}" |
49 | [[ -z "${HOMEPAGE}" ]] && HOMEPAGE="http://pear.php.net/${PHP_PEAR_PKG_NAME}" |
| 39 | |
50 | |
| 40 | S="${WORKDIR}/${PEAR_PN}" |
51 | S="${WORKDIR}/${PEAR_PN}" |
| 41 | |
52 | |
|
|
53 | # @FUNCTION: php-pear-r1_src_install |
|
|
54 | # @DESCRIPTION: |
|
|
55 | # Takes care of standard install for PEAR packages. |
| 42 | php-pear-r1_src_install() { |
56 | php-pear-r1_src_install() { |
| 43 | # SNMP support |
57 | # SNMP support |
| 44 | addpredict /usr/share/snmp/mibs/.index |
58 | addpredict /usr/share/snmp/mibs/.index |
| 45 | addpredict /var/lib/net-snmp/ |
59 | addpredict /var/lib/net-snmp/ |
|
|
60 | addpredict /var/lib/net-snmp/mib_indexes |
|
|
61 | addpredict /session_mm_cli0.sem |
|
|
62 | |
|
|
63 | PHP_BIN="/usr/bin/php" |
| 46 | |
64 | |
| 47 | cd "${S}" |
65 | cd "${S}" |
|
|
66 | |
|
|
67 | if [[ -f "${WORKDIR}"/package2.xml ]] ; then |
|
|
68 | mv -f "${WORKDIR}/package2.xml" "${S}" |
|
|
69 | if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then |
|
|
70 | local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
|
|
71 | peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
|
|
72 | install --force --loose --nodeps --offline --packagingroot="${D}" \ |
|
|
73 | "${S}/package2.xml" || die "Unable to install PEAR package" |
|
|
74 | else |
|
|
75 | peardev -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \ |
|
|
76 | "${S}/package2.xml" || die "Unable to install PEAR package" |
|
|
77 | fi |
|
|
78 | else |
| 48 | mv "${WORKDIR}/package.xml" "${S}" |
79 | mv -f "${WORKDIR}/package.xml" "${S}" |
| 49 | pear install --nodeps --installroot="${D}" "${S}/package.xml" || die "Unable to install PEAR package" |
80 | if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then |
|
|
81 | local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
|
|
82 | peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
|
|
83 | install --force --loose --nodeps --offline --packagingroot="${D}" \ |
|
|
84 | "${S}/package.xml" || die "Unable to install PEAR package" |
|
|
85 | else |
|
|
86 | peardev -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \ |
|
|
87 | "${S}/package.xml" || die "Unable to install PEAR package" |
|
|
88 | fi |
|
|
89 | fi |
|
|
90 | |
|
|
91 | rm -Rf "${D}/usr/share/php/.channels" \ |
|
|
92 | "${D}/usr/share/php/.depdblock" \ |
|
|
93 | "${D}/usr/share/php/.depdb" \ |
| 50 | rm -rf "${D}/usr/share/php/.filemap" \ |
94 | "${D}/usr/share/php/.filemap" \ |
| 51 | "${D}/usr/share/php/.lock" |
95 | "${D}/usr/share/php/.lock" \ |
|
|
96 | "${D}/usr/share/php/.registry" |
| 52 | } |
97 | } |