/[gentoo-x86]/eclass/php-pear-lib-r1.eclass
Gentoo

Contents of /eclass/php-pear-lib-r1.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.20 - (show annotations) (download)
Sat Mar 5 11:04:11 2011 UTC (3 years, 7 months ago) by olemarkus
Branch: MAIN
Changes since 1.19: +34 -22 lines
Packages can now define their own pear channel.
Requried version for pear packages is now pear-1.9.0

1 # Copyright 1999-2007 Gentoo Foundation
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.19 2010/10/30 17:01:25 olemarkus Exp $
4 #
5 # Author: Luca Longinotti <chtekk@gentoo.org>
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
16 inherit depend.php multilib
17
18 EXPORT_FUNCTIONS pkg_setup src_install
19
20 DEPEND="dev-lang/php
21 >=dev-php/pear-1.9.0"
22 RDEPEND="${DEPEND}"
23
24
25 if [[ -n $PHP_PEAR_CHANNEL ]] ; then
26 PHP_PEAR_PV=${PV/_rc/RC}
27 [[ -z ${PHP_PEAR_PN} ]] && die "Missing PHP_PEAR_PN. Please notify the maintainer"
28 PHP_PEAR_P=${PHP_PEAR_PN}-${PHP_PEAR_PV}
29
30 S=${WORKDIR}/${PHP_PEAR_P}
31
32 SRC_URI="${PHP_PEAR_CHANNEL}/get/${PHP_PEAR_P}.tgz"
33 fi
34
35
36 # @FUNCTION: php-pear-lib-r1_pkg_setup
37 # @DESCRIPTION
38 # Adds required PEAR channel if necessary
39 php-pear-lib-r1_pkg_setup() {
40 if [[ -n $PHP_PEAR_CHANNEL ]] ; then
41 pear channel-discover $PHP_PEAR_CHANNEL
42 pear channel-update $PHP_PEAR_CHANNEL
43 fi
44 }
45
46
47 # @FUNCTION: php-pear-lib-r1_src_install
48 # @DESCRIPTION:
49 # Takes care of standard install for PEAR-based libraries.
50 php-pear-lib-r1_src_install() {
51 has_php
52
53 # SNMP support
54 addpredict /usr/share/snmp/mibs/.index
55 addpredict /var/lib/net-snmp/
56 addpredict /session_mm_cli0.sem
57
58 PHP_BIN="/usr/bin/php"
59
60 cd "${S}"
61
62 if [[ -f "${WORKDIR}"/package2.xml ]] ; then
63 mv -f "${WORKDIR}/package2.xml" "${S}"
64 local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
65 peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
66 install --force --loose --nodeps --offline --packagingroot="${D}" \
67 "${S}/package2.xml" || die "Unable to install PEAR package"
68 else
69 mv -f "${WORKDIR}/package.xml" "${S}"
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}/package.xml" || die "Unable to install PEAR package"
74 fi
75
76 rm -Rf "${D}/usr/share/php/.channels" \
77 "${D}/usr/share/php/.depdblock" \
78 "${D}/usr/share/php/.depdb" \
79 "${D}/usr/share/php/.filemap" \
80 "${D}/usr/share/php/.lock" \
81 "${D}/usr/share/php/.registry"
82
83 # install to the correct phpX folder, if not specified
84 # /usr/share/php will be kept, also sedding to substitute
85 # the path, many files can specify it wrongly
86 if [[ -n "${PHP_SHARED_CAT}" ]] && [[ "${PHP_SHARED_CAT}" != "php" ]] ; then
87 mv -f "${D}/usr/share/php" "${D}/usr/share/${PHP_SHARED_CAT}" || die "Unable to move files"
88 find "${D}/" -type f -exec sed -e "s|/usr/share/php|/usr/share/${PHP_SHARED_CAT}|g" -i {} \; \
89 || die "Unable to change PHP path"
90 einfo
91 einfo "Installing to /usr/share/${PHP_SHARED_CAT} ..."
92 einfo
93 else
94 einfo
95 einfo "Installing to /usr/share/php ..."
96 einfo
97 fi
98 }

  ViewVC Help
Powered by ViewVC 1.1.20