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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (show annotations) (download)
Tue Feb 16 04:14:13 2010 UTC (4 years, 1 month ago) by beandog
Branch: MAIN
Changes since 1.22: +4 -2 lines
Fix dependencies for new pear setup where PEAR-PEAR doesn't pull in all
deps, and dev-php/pear is new virtual

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

  ViewVC Help
Powered by ViewVC 1.1.20