/[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.22 - (hide annotations) (download)
Mon Jan 12 23:09:02 2009 UTC (5 years, 3 months ago) by maekke
Branch: MAIN
Changes since 1.21: +2 -2 lines
whitespace

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 maekke 1.22 # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-r1.eclass,v 1.21 2008/03/19 09:27:28 jokey 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 armin76 1.20 DEPEND="dev-lang/php >=dev-php/PEAR-PEAR-1.6.1"
23 chtekk 1.14 RDEPEND="${DEPEND}"
24    
25 jokey 1.17 # @ECLASS-VARIABLE: PHP_PEAR_PKG_NAME
26     # @DESCRIPTION:
27     # Set this if the the PEAR package name differs from ${PN/PEAR-/}
28     # (generally shouldn't be the case).
29 chtekk 1.14 [[ -z "${PHP_PEAR_PKG_NAME}" ]] && PHP_PEAR_PKG_NAME="${PN/PEAR-/}"
30 stuart 1.1
31     fix_PEAR_PV() {
32 chtekk 1.14 tmp="${PV}"
33     tmp="${tmp/_/}"
34     tmp="${tmp/rc/RC}"
35     tmp="${tmp/beta/b}"
36 jokey 1.19 tmp="${tmp/alpha/a}"
37 chtekk 1.14 PEAR_PV="${tmp}"
38 stuart 1.1 }
39    
40 jokey 1.17 # @ECLASS-VARIABLE: PEAR_PV
41     # @DESCRIPTION:
42 jokey 1.19 # Set in ebuild if the eclass ${PV} mangling breaks SRC_URI for alpha/beta/rc versions
43 jokey 1.16 [[ -z "${PEAR_PV}" ]] && fix_PEAR_PV
44    
45 chtekk 1.14 PEAR_PN="${PHP_PEAR_PKG_NAME}-${PEAR_PV}"
46 stuart 1.1
47 chtekk 1.14 [[ -z "${SRC_URI}" ]] && SRC_URI="http://pear.php.net/get/${PEAR_PN}.tgz"
48     [[ -z "${HOMEPAGE}" ]] && HOMEPAGE="http://pear.php.net/${PHP_PEAR_PKG_NAME}"
49 chtekk 1.7
50 stuart 1.1 S="${WORKDIR}/${PEAR_PN}"
51    
52 jokey 1.17 # @FUNCTION: php-pear-r1_src_install
53     # @DESCRIPTION:
54     # Takes care of standard install for PEAR packages.
55 beu 1.3 php-pear-r1_src_install() {
56 chtekk 1.6 # SNMP support
57 stuart 1.1 addpredict /usr/share/snmp/mibs/.index
58     addpredict /var/lib/net-snmp/
59 chtekk 1.15 addpredict /session_mm_cli0.sem
60 stuart 1.1
61 sebastian 1.8 case "${CATEGORY}" in
62     dev-php)
63     if has_version '=dev-lang/php-5*' ; then
64 armin76 1.20 PHP_BIN="/usr/$(get_libdir)/php5/bin/php"
65 sebastian 1.8 else
66 armin76 1.20 PHP_BIN="/usr/$(get_libdir)/php4/bin/php"
67 sebastian 1.8 fi ;;
68 armin76 1.20 dev-php4) PHP_BIN="/usr/$(get_libdir)/php4/bin/php" ;;
69     dev-php5) PHP_BIN="/usr/$(get_libdir)/php5/bin/php" ;;
70 chtekk 1.14 *) die "Version of PHP required by packages in category ${CATEGORY} unknown"
71 sebastian 1.8 esac
72    
73 chtekk 1.6 cd "${S}"
74 maekke 1.22
75 armin76 1.20 if [[ -f "${WORKDIR}"/package2.xml ]] ; then
76     mv -f "${WORKDIR}/package2.xml" "${S}"
77 jokey 1.21 if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then
78     local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
79     pear -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
80     install --force --loose --nodeps --offline --packagingroot="${D}" \
81     "${S}/package2.xml" || die "Unable to install PEAR package"
82     else
83     pear -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \
84     "${S}/package2.xml" || die "Unable to install PEAR package"
85     fi
86 jokey 1.18 else
87 armin76 1.20 mv -f "${WORKDIR}/package.xml" "${S}"
88 jokey 1.21 if has_version '>=dev-php/PEAR-PEAR-1.7.0' ; then
89     local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
90     pear -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
91     install --force --loose --nodeps --offline --packagingroot="${D}" \
92     "${S}/package.xml" || die "Unable to install PEAR package"
93     else
94     pear -d php_bin="${PHP_BIN}" install --force --loose --nodeps --offline --packagingroot="${D}" \
95     "${S}/package.xml" || die "Unable to install PEAR package"
96     fi
97 sebastian 1.10 fi
98 sebastian 1.13
99 chtekk 1.14 rm -Rf "${D}/usr/share/php/.channels" \
100 sebastian 1.10 "${D}/usr/share/php/.depdblock" \
101     "${D}/usr/share/php/.depdb" \
102     "${D}/usr/share/php/.filemap" \
103 sebastian 1.9 "${D}/usr/share/php/.lock" \
104     "${D}/usr/share/php/.registry"
105 stuart 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20