/[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.25 - (hide annotations) (download)
Sat Jun 23 14:58:17 2012 UTC (21 months, 3 weeks ago) by olemarkus
Branch: MAIN
Changes since 1.24: +3 -4 lines
Make channel discovery more strict

1 vapier 1.24 # Copyright 1999-2011 Gentoo Foundation
2 chtekk 1.1 # Distributed under the terms of the GNU General Public License v2
3 olemarkus 1.25 # $Header: /var/cvsroot/gentoo-x86/eclass/php-pear-lib-r1.eclass,v 1.24 2011/08/22 04:46:32 vapier Exp $
4 jokey 1.12
5     # @ECLASS: php-pear-lib-r1.eclass
6     # @MAINTAINER:
7     # Gentoo PHP team <php-bugs@gentoo.org>
8 vapier 1.24 # @AUTHOR:
9     # Author: Luca Longinotti <chtekk@gentoo.org>
10 jokey 1.12 # @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 chtekk 1.1
16 armin76 1.13 inherit depend.php multilib
17 chtekk 1.1
18 olemarkus 1.20 EXPORT_FUNCTIONS pkg_setup src_install
19 chtekk 1.1
20 mabi 1.16 DEPEND="dev-lang/php
21 olemarkus 1.20 >=dev-php/pear-1.9.0"
22 chtekk 1.10 RDEPEND="${DEPEND}"
23 chtekk 1.1
24 olemarkus 1.20 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 olemarkus 1.23 SRC_URI="http://${PHP_PEAR_URI}/get/${PHP_PEAR_P}.tgz"
32 olemarkus 1.20 fi
33    
34    
35     # @FUNCTION: php-pear-lib-r1_pkg_setup
36 vapier 1.24 # @DESCRIPTION:
37 olemarkus 1.20 # Adds required PEAR channel if necessary
38     php-pear-lib-r1_pkg_setup() {
39     if [[ -n $PHP_PEAR_CHANNEL ]] ; then
40 olemarkus 1.22 if [[ -f $PHP_PEAR_CHANNEL ]]; then
41 olemarkus 1.25 pear channel-add $PHP_PEAR_CHANNEL || einfo "Ignore any errors about existing channels"
42 vapier 1.24 else
43 olemarkus 1.25 die "Could not find channel file $PHP_PEAR_CHANNEL"
44 olemarkus 1.22 fi
45 olemarkus 1.20 fi
46     }
47    
48    
49 jokey 1.12 # @FUNCTION: php-pear-lib-r1_src_install
50     # @DESCRIPTION:
51     # Takes care of standard install for PEAR-based libraries.
52 chtekk 1.1 php-pear-lib-r1_src_install() {
53     has_php
54    
55     # SNMP support
56     addpredict /usr/share/snmp/mibs/.index
57     addpredict /var/lib/net-snmp/
58 chtekk 1.11 addpredict /session_mm_cli0.sem
59 chtekk 1.1
60 olemarkus 1.19 PHP_BIN="/usr/bin/php"
61 sebastian 1.3
62 chtekk 1.1 cd "${S}"
63 sebastian 1.9
64 maekke 1.15 if [[ -f "${WORKDIR}"/package2.xml ]] ; then
65     mv -f "${WORKDIR}/package2.xml" "${S}"
66 olemarkus 1.20 local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
67     peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
68     install --force --loose --nodeps --offline --packagingroot="${D}" \
69     "${S}/package2.xml" || die "Unable to install PEAR package"
70 maekke 1.15 else
71     mv -f "${WORKDIR}/package.xml" "${S}"
72 olemarkus 1.20 local WWW_DIR="/usr/share/webapps/${PN}/${PVR}/htdocs"
73     peardev -d php_bin="${PHP_BIN}" -d www_dir="${WWW_DIR}" \
74     install --force --loose --nodeps --offline --packagingroot="${D}" \
75     "${S}/package.xml" || die "Unable to install PEAR package"
76 maekke 1.15 fi
77 sebastian 1.9
78 chtekk 1.10 rm -Rf "${D}/usr/share/php/.channels" \
79 sebastian 1.5 "${D}/usr/share/php/.depdblock" \
80     "${D}/usr/share/php/.depdb" \
81     "${D}/usr/share/php/.filemap" \
82 chtekk 1.1 "${D}/usr/share/php/.lock" \
83     "${D}/usr/share/php/.registry"
84    
85     # install to the correct phpX folder, if not specified
86 chtekk 1.6 # /usr/share/php will be kept, also sedding to substitute
87 chtekk 1.1 # the path, many files can specify it wrongly
88 chtekk 1.10 if [[ -n "${PHP_SHARED_CAT}" ]] && [[ "${PHP_SHARED_CAT}" != "php" ]] ; then
89 chtekk 1.1 mv -f "${D}/usr/share/php" "${D}/usr/share/${PHP_SHARED_CAT}" || die "Unable to move files"
90 armin76 1.13 find "${D}/" -type f -exec sed -e "s|/usr/share/php|/usr/share/${PHP_SHARED_CAT}|g" -i {} \; \
91     || die "Unable to change PHP path"
92 chtekk 1.1 einfo
93     einfo "Installing to /usr/share/${PHP_SHARED_CAT} ..."
94     einfo
95     else
96     einfo
97     einfo "Installing to /usr/share/php ..."
98     einfo
99     fi
100     }

  ViewVC Help
Powered by ViewVC 1.1.20