/[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 - (hide 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 chtekk 1.14 # Copyright 1999-2007 Gentoo Foundation
2 stuart 1.1 # Distributed under the terms of the GNU General Public License v2
3 beandog 1.23 # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-r1.eclass,v 1.22 2009/01/12 23:09:02 maekke Exp $
4 stuart 1.1 #
5     # Author: Tal Peer <coredumb@gentoo.org>
6 chtekk 1.14 # Author: Luca Longinotti <chtekk@gentoo.org>
7 stuart 1.1
8 jokey 1.17 # @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 stuart 1.1
18 armin76 1.20 inherit multilib
19    
20 stuart 1.1 EXPORT_FUNCTIONS src_install
21    
22 beandog 1.23 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 chtekk 1.14 RDEPEND="${DEPEND}"
26    
27 jokey 1.17 # @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 chtekk 1.14 [[ -z "${PHP_PEAR_PKG_NAME}" ]] && PHP_PEAR_PKG_NAME="${PN/PEAR-/}"
32 stuart 1.1
33     fix_PEAR_PV() {
34 chtekk 1.14 tmp="${PV}"
35     tmp="${tmp/_/}"
36     tmp="${tmp/rc/RC}"
37     tmp="${tmp/beta/b}"
38 jokey 1.19 tmp="${tmp/alpha/a}"
39 chtekk 1.14 PEAR_PV="${tmp}"
40 stuart 1.1 }
41    
42 jokey 1.17 # @ECLASS-VARIABLE: PEAR_PV
43     # @DESCRIPTION:
44 jokey 1.19 # Set in ebuild if the eclass ${PV} mangling breaks SRC_URI for alpha/beta/rc versions
45 jokey 1.16 [[ -z "${PEAR_PV}" ]] && fix_PEAR_PV
46    
47 chtekk 1.14 PEAR_PN="${PHP_PEAR_PKG_NAME}-${PEAR_PV}"
48 stuart 1.1
49 chtekk 1.14 [[ -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 chtekk 1.7
52 stuart 1.1 S="${WORKDIR}/${PEAR_PN}"
53    
54 jokey 1.17 # @FUNCTION: php-pear-r1_src_install
55     # @DESCRIPTION:
56     # Takes care of standard install for PEAR packages.
57 beu 1.3 php-pear-r1_src_install() {
58 chtekk 1.6 # SNMP support
59 stuart 1.1 addpredict /usr/share/snmp/mibs/.index
60     addpredict /var/lib/net-snmp/
61 chtekk 1.15 addpredict /session_mm_cli0.sem
62 stuart 1.1
63 sebastian 1.8 case "${CATEGORY}" in
64     dev-php)
65     if has_version '=dev-lang/php-5*' ; then
66 armin76 1.20 PHP_BIN="/usr/$(get_libdir)/php5/bin/php"
67 sebastian 1.8 else
68 armin76 1.20 PHP_BIN="/usr/$(get_libdir)/php4/bin/php"
69 sebastian 1.8 fi ;;
70 armin76 1.20 dev-php4) PHP_BIN="/usr/$(get_libdir)/php4/bin/php" ;;
71     dev-php5) PHP_BIN="/usr/$(get_libdir)/php5/bin/php" ;;
72 chtekk 1.14 *) die "Version of PHP required by packages in category ${CATEGORY} unknown"
73 sebastian 1.8 esac
74    
75 chtekk 1.6 cd "${S}"
76 maekke 1.22
77 armin76 1.20 if [[ -f "${WORKDIR}"/package2.xml ]] ; then
78     mv -f "${WORKDIR}/package2.xml" "${S}"
79 jokey 1.21 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 jokey 1.18 else
89 armin76 1.20 mv -f "${WORKDIR}/package.xml" "${S}"
90 jokey 1.21 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 sebastian 1.10 fi
100 sebastian 1.13
101 chtekk 1.14 rm -Rf "${D}/usr/share/php/.channels" \
102 sebastian 1.10 "${D}/usr/share/php/.depdblock" \
103     "${D}/usr/share/php/.depdb" \
104     "${D}/usr/share/php/.filemap" \
105 sebastian 1.9 "${D}/usr/share/php/.lock" \
106     "${D}/usr/share/php/.registry"
107 stuart 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20