| 1 | # Copyright 1999-2007 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-lib-r1.eclass,v 1.18 2010/07/13 23:48:46 mabi Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-lib-r1.eclass,v 1.25 2012/06/23 14:58:17 olemarkus Exp $ |
| 4 | # |
|
|
| 5 | # Author: Luca Longinotti <chtekk@gentoo.org> |
|
|
| 6 | |
4 | |
| 7 | # @ECLASS: php-pear-lib-r1.eclass |
5 | # @ECLASS: php-pear-lib-r1.eclass |
| 8 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 9 | # Gentoo PHP team <php-bugs@gentoo.org> |
7 | # Gentoo PHP team <php-bugs@gentoo.org> |
|
|
8 | # @AUTHOR: |
|
|
9 | # Author: Luca Longinotti <chtekk@gentoo.org> |
| 10 | # @BLURB: Provides means for an easy installation of PEAR-based libraries. |
10 | # @BLURB: Provides means for an easy installation of PEAR-based libraries. |
| 11 | # @DESCRIPTION: |
11 | # @DESCRIPTION: |
| 12 | # This class provides means for an easy installation of PEAR-based libraries, |
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 |
13 | # such as Creole, Jargon, Phing etc., while retaining the functionality to put |
| 14 | # the libraries into version-dependant directories. |
14 | # the libraries into version-dependant directories. |
| 15 | |
15 | |
| 16 | inherit depend.php multilib |
16 | inherit depend.php multilib |
| 17 | |
17 | |
| 18 | EXPORT_FUNCTIONS src_install |
18 | EXPORT_FUNCTIONS pkg_setup src_install |
| 19 | |
19 | |
| 20 | DEPEND="dev-lang/php |
20 | DEPEND="dev-lang/php |
| 21 | || ( ( >=dev-php/PEAR-PEAR-1.6.1 <dev-php/PEAR-PEAR-1.8.1 ) |
|
|
| 22 | >=dev-php/pear-1.8.1 )" |
21 | >=dev-php/pear-1.9.0" |
| 23 | RDEPEND="${DEPEND}" |
22 | RDEPEND="${DEPEND}" |
|
|
23 | |
|
|
24 | if [[ -n $PHP_PEAR_CHANNEL ]] ; then |
|
|
25 | PHP_PEAR_PV=${PV/_rc/RC} |
|
|
26 | [[ -z ${PHP_PEAR_PN} ]] && die "Missing PHP_PEAR_PN. Please notify the maintainer" |
|
|
27 | PHP_PEAR_P=${PHP_PEAR_PN}-${PHP_PEAR_PV} |
|
|
28 | |
|
|
29 | S=${WORKDIR}/${PHP_PEAR_P} |
|
|
30 | |
|
|
31 | SRC_URI="http://${PHP_PEAR_URI}/get/${PHP_PEAR_P}.tgz" |
|
|
32 | fi |
|
|
33 | |
|
|
34 | |
|
|
35 | # @FUNCTION: php-pear-lib-r1_pkg_setup |
|
|
36 | # @DESCRIPTION: |
|
|
37 | # Adds required PEAR channel if necessary |
|
|
38 | php-pear-lib-r1_pkg_setup() { |
|
|
39 | if [[ -n $PHP_PEAR_CHANNEL ]] ; then |
|
|
40 | if [[ -f $PHP_PEAR_CHANNEL ]]; then |
|
|
41 | pear channel-add $PHP_PEAR_CHANNEL || einfo "Ignore any errors about existing channels" |
|
|
42 | else |
|
|
43 | die "Could not find channel file $PHP_PEAR_CHANNEL" |
|
|
44 | fi |
|
|
45 | fi |
|
|
46 | } |
|
|
47 | |
| 24 | |
48 | |
| 25 | # @FUNCTION: php-pear-lib-r1_src_install |
49 | # @FUNCTION: php-pear-lib-r1_src_install |
| 26 | # @DESCRIPTION: |
50 | # @DESCRIPTION: |
| 27 | # Takes care of standard install for PEAR-based libraries. |
51 | # Takes care of standard install for PEAR-based libraries. |
| 28 | php-pear-lib-r1_src_install() { |
52 | php-pear-lib-r1_src_install() { |
| … | |
… | |
| 31 | # SNMP support |
55 | # SNMP support |
| 32 | addpredict /usr/share/snmp/mibs/.index |
56 | addpredict /usr/share/snmp/mibs/.index |
| 33 | addpredict /var/lib/net-snmp/ |
57 | addpredict /var/lib/net-snmp/ |
| 34 | addpredict /session_mm_cli0.sem |
58 | addpredict /session_mm_cli0.sem |
| 35 | |
59 | |
| 36 | PHP_BIN="/usr/$(get_libdir)/php5/bin/php" |
60 | PHP_BIN="/usr/bin/php" |
| 37 | |
61 | |
| 38 | cd "${S}" |
62 | cd "${S}" |
| 39 | |
63 | |
| 40 | if [[ -f "${WORKDIR}"/package2.xml ]] ; then |
64 | if [[ -f "${WORKDIR}"/package2.xml ]] ; then |
| 41 | mv -f "${WORKDIR}/package2.xml" "${S}" |
65 | mv -f "${WORKDIR}/package2.xml" "${S}" |
| 42 | if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then |
|
|
| 43 | local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
66 | local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
| 44 | peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
67 | peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
| 45 | install --force --loose --nodeps --offline --packagingroot="${D}" \ |
68 | install --force --loose --nodeps --offline --packagingroot="${D}" \ |
| 46 | "${S}/package2.xml" || die "Unable to install PEAR package" |
69 | "${S}/package2.xml" || die "Unable to install PEAR package" |
| 47 | else |
|
|
| 48 | peardev -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \ |
|
|
| 49 | "${S}/package2.xml" || die "Unable to install PEAR package" |
|
|
| 50 | fi |
|
|
| 51 | else |
70 | else |
| 52 | mv -f "${WORKDIR}/package.xml" "${S}" |
71 | mv -f "${WORKDIR}/package.xml" "${S}" |
| 53 | if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then |
|
|
| 54 | local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
72 | local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs" |
| 55 | peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
73 | peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \ |
| 56 | install --force --loose --nodeps --offline --packagingroot="${D}" \ |
74 | install --force --loose --nodeps --offline --packagingroot="${D}" \ |
| 57 | "${S}/package.xml" || die "Unable to install PEAR package" |
|
|
| 58 | else |
|
|
| 59 | peardev -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \ |
|
|
| 60 | "${S}/package.xml" || die "Unable to install PEAR package" |
75 | "${S}/package.xml" || die "Unable to install PEAR package" |
| 61 | fi |
|
|
| 62 | fi |
76 | fi |
| 63 | |
77 | |
| 64 | rm -Rf "${D}/usr/share/php/.channels" \ |
78 | rm -Rf "${D}/usr/share/php/.channels" \ |
| 65 | "${D}/usr/share/php/.depdblock" \ |
79 | "${D}/usr/share/php/.depdblock" \ |
| 66 | "${D}/usr/share/php/.depdb" \ |
80 | "${D}/usr/share/php/.depdb" \ |