/[gentoo-x86]/eclass/php-ext-base-r1.eclass
Gentoo

Contents of /eclass/php-ext-base-r1.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Sun Sep 25 15:21:22 2005 UTC (8 years, 10 months ago) by kloeri
Branch: MAIN
Changes since 1.1: +8 -4 lines
Fix automake errors. Patch by Luca Longinotti (CHTEKK).

1 # Copyright 1999-2005 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/php-ext-base-r1.eclass,v 1.1 2005/09/04 10:54:53 stuart Exp $
4 #
5 # Author: Tal Peer <coredumb@gentoo.org>
6 # Author: Stuart Herbert <stuart@gentoo.org>
7 #
8 # The php-ext-base eclass provides a unified interface for adding standalone
9 # PHP extensions ('modules') to the php.ini files on your system.
10 #
11 # Combined with php-ext-source, we have a standardised solution for supporting
12 # PHP extensions
13
14 inherit depend.php
15
16 EXPORT_FUNCTIONS src_install
17
18 # ---begin ebuild configurable settings
19
20 # The extension name, this must be set, otherwise we die.
21 [ -z "${PHP_EXT_NAME}" ] && die "No module name specified for the php-ext eclass."
22
23 # Wether the extensions is a Zend Engine extension
24 #(defaults to "no" and if you don't know what is it, you don't need it.)
25 [ -z "${PHP_EXT_ZENDEXT}" ] && PHP_EXT_ZENDEXT="no"
26
27 # Wether or not to add a line in the php.ini for the extension
28 # (defaults to "yes" and shouldn't be changed in most cases)
29 [ -z "${PHP_EXT_INI}" ] && PHP_EXT_INI="yes"
30
31 # find out where to install extensions
32 EXT_DIR="`${PHPCONFIG} --extension-dir 2>/dev/null`"
33
34 # ---end ebuild configurable settings
35
36 DEPEND="${DEPEND}
37 >=sys-devel/m4-1.4.3
38 >=sys-devel/libtool-1.5.18
39 >=sys-devel/automake-1.9.6
40 sys-devel/automake-wrapper
41 >=sys-devel/autoconf-2.59
42 sys-devel/autoconf-wrapper"
43
44 php-ext-base-r1_buildinilist() {
45 # work out the list of .ini files to edit/add to
46 if [ -z "${PHPSAPILIST}" ]; then
47 PHPSAPILIST="apache1 apache2 cli cgi"
48 fi
49
50 PHPINIFILELIST=
51
52 for x in ${PHPSAPILIST} ; do
53 if [ -f /etc/php/${x}-php${PHP_VERSION}/php.ini ]; then
54 PHPINIFILELIST="${PHPINIFILELIST} etc/php/${x}-php${PHP_VERSION}/ext/${PHP_EXT_NAME}.ini"
55 fi
56 done
57 }
58
59 php-ext-base-r1_src_install() {
60 has_php
61 addpredict /usr/share/snmp/mibs/.index
62 php-ext-base-r1_buildinilist
63 if [ "${PHP_EXT_INI}" = "yes" ] ; then
64 php-ext-base-r1_addextension "${PHP_EXT_NAME}.so"
65 fi
66 # add support for installing php files into a version dependant directory
67 PHP_EXT_SHARED_DIR="/usr/share/${PHP_SHARED_CAT}/${PHP_EXT_NAME}"
68 }
69
70 php-ext-base-r1_addextension() {
71 if [ "${PHP_EXT_ZENDEXT}" = "yes" ] ; then
72 if has_zts ; then
73 ext_type="zend_extension_ts"
74 ext_file="${EXT_DIR}/$1"
75 else
76 ext_type="zend_extension"
77 ext_file="${EXT_DIR}/$1"
78 fi
79 else
80 # we do *not* add the full path for the extension!
81 ext_type="extension"
82 ext_file="$1"
83 fi
84
85 php-ext-base-r1_addtoinifiles "${ext_type}" "${ext_file}" "Extension added"
86 }
87
88 # $1 - setting name
89 # $2 - setting value
90 # $3 - file to add to
91 # $4 - sanitised text to output
92
93 php-ext-base-r1_addtoinifile() {
94 if [[ ! -d `dirname $3` ]]; then
95 mkdir -p `dirname $3`
96 fi
97
98 # are we adding the name of a section?
99 if [[ ${1:0:1} == "[" ]] ; then
100 echo "$1" >> $3
101 my_added="$1"
102 else
103 echo "$1=$2" >> $3
104 my_added="$1=$2"
105 fi
106
107 if [ -z "$4" ]; then
108 einfo "Added '$my_added' to /$3"
109 else
110 einfo "$4 to /$3"
111 fi
112
113 # yes, this is inefficient - but it works every time ;-)
114
115 insinto /`dirname $3`
116 doins $3
117 }
118
119 php-ext-base-r1_addtoinifiles() {
120 for x in ${PHPINIFILELIST} ; do
121 php-ext-base-r1_addtoinifile "$1" "$2" "$x" "$3"
122 done
123 }

  ViewVC Help
Powered by ViewVC 1.1.20