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