| 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-lib-r1.eclass,v 1.3 2006/01/05 09:11:39 sebastian Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-lib-r1.eclass,v 1.16 2010/06/09 11:11:58 mabi Exp $ |
| 4 | # |
4 | # |
| 5 | # Author: Luca Longinotti <chtekk@gentoo.org> |
5 | # Author: Luca Longinotti <chtekk@gentoo.org> |
| 6 | # Maintained by the PHP Herd <php-bugs@gentoo.org> |
|
|
| 7 | # |
|
|
| 8 | # Based on Tal Peer's <coredumb@gentoo.org> work on php-pear.eclass. |
|
|
| 9 | # |
|
|
| 10 | # The php-pear-lib-r1 eclass provides means for an easy installation of PEAR |
|
|
| 11 | # based libraries, such as Creole, Jargon, Phing etc., while retaining |
|
|
| 12 | # the functionality to put the libraries into version-dependant dirs. |
|
|
| 13 | |
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 | |
| 14 | inherit depend.php |
16 | inherit depend.php multilib |
| 15 | |
17 | |
| 16 | EXPORT_FUNCTIONS src_install |
18 | EXPORT_FUNCTIONS src_install |
| 17 | |
19 | |
| 18 | # We must depend on the base package as we need it to let |
20 | DEPEND="dev-lang/php |
| 19 | # PEAR work, as well as PEAR itself. |
21 | || ( ( >=dev-php/PEAR-PEAR-1.6.1 <dev-php/PEAR-PEAR-1.8.1 ) |
| 20 | DEPEND="${DEPEND} dev-lang/php >=dev-php/PEAR-PEAR-1.3.6" |
22 | >=dev-php/pear-1.8.1 )" |
| 21 | RDEPEND="${RDEPEND} ${DEPEND}" |
23 | RDEPEND="${DEPEND}" |
| 22 | |
24 | |
|
|
25 | # @FUNCTION: php-pear-lib-r1_src_install |
|
|
26 | # @DESCRIPTION: |
|
|
27 | # Takes care of standard install for PEAR-based libraries. |
| 23 | php-pear-lib-r1_src_install() { |
28 | php-pear-lib-r1_src_install() { |
| 24 | has_php |
29 | has_php |
| 25 | |
30 | |
| 26 | # SNMP support |
31 | # SNMP support |
| 27 | addpredict /usr/share/snmp/mibs/.index |
32 | addpredict /usr/share/snmp/mibs/.index |
| 28 | addpredict /var/lib/net-snmp/ |
33 | addpredict /var/lib/net-snmp/ |
|
|
34 | addpredict /session_mm_cli0.sem |
| 29 | |
35 | |
| 30 | case "${CATEGORY}" in |
36 | case "${CATEGORY}" in |
| 31 | dev-php) |
37 | dev-php) |
| 32 | if has_version '=dev-lang/php-5*' ; then |
38 | if has_version '=dev-lang/php-5*' ; then |
| 33 | PHP_BIN="/usr/lib/php5/bin/php" |
39 | PHP_BIN="/usr/$(get_libdir)/php5/bin/php" |
| 34 | else |
40 | else |
| 35 | PHP_BIN="/usr/lib/php4/bin/php" |
41 | PHP_BIN="/usr/$(get_libdir)/php4/bin/php" |
| 36 | fi ;; |
42 | fi ;; |
| 37 | dev-php4) PHP_BIN="/usr/lib/php4/bin/php" ;; |
43 | dev-php4) PHP_BIN="/usr/$(get_libdir)/php4/bin/php" ;; |
| 38 | dev-php5) PHP_BIN="/usr/lib/php5/bin/php" ;; |
44 | dev-php5) PHP_BIN="/usr/$(get_libdir)/php5/bin/php" ;; |
| 39 | *) die "I don't know which version of PHP packages in ${CATEGORY} require" |
45 | *) die "Version of PHP required by packages in category ${CATEGORY} unknown" |
| 40 | esac |
46 | esac |
| 41 | |
47 | |
| 42 | cd "${S}" |
48 | cd "${S}" |
| 43 | mv "${WORKDIR}/package.xml" "${S}" |
|
|
| 44 | pear -d php_bin="${PHP_BIN}" install --nodeps --installroot="${D}" "${S}/package.xml" || die "Unable to install PEAR package" |
|
|
| 45 | |
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" \ |
| 46 | rm -rf "${D}/usr/share/php/.filemap" \ |
77 | "${D}/usr/share/php/.filemap" \ |
| 47 | "${D}/usr/share/php/.lock" \ |
78 | "${D}/usr/share/php/.lock" \ |
| 48 | "${D}/usr/share/php/.registry" |
79 | "${D}/usr/share/php/.registry" |
| 49 | |
80 | |
| 50 | # install to the correct phpX folder, if not specified |
81 | # install to the correct phpX folder, if not specified |
| 51 | # /usr/share/php will be kept, also sedding to sobstitute |
82 | # /usr/share/php will be kept, also sedding to substitute |
| 52 | # the path, many files can specify it wrongly |
83 | # the path, many files can specify it wrongly |
| 53 | if [ -n "${PHP_SHARED_CAT}" ] && [ "${PHP_SHARED_CAT}" != "php" ] ; then |
84 | if [[ -n "${PHP_SHARED_CAT}" ]] && [[ "${PHP_SHARED_CAT}" != "php" ]] ; then |
| 54 | mv -f "${D}/usr/share/php" "${D}/usr/share/${PHP_SHARED_CAT}" || die "Unable to move files" |
85 | mv -f "${D}/usr/share/php" "${D}/usr/share/${PHP_SHARED_CAT}" || die "Unable to move files" |
| 55 | find "${D}/" -type f -exec sed -e "s|/usr/share/php|/usr/share/${PHP_SHARED_CAT}|g" -i {} \; || die "Unable to change PHP path" |
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" |
| 56 | einfo |
88 | einfo |
| 57 | einfo "Installing to /usr/share/${PHP_SHARED_CAT} ..." |
89 | einfo "Installing to /usr/share/${PHP_SHARED_CAT} ..." |
| 58 | einfo |
90 | einfo |
| 59 | else |
91 | else |
| 60 | einfo |
92 | einfo |