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