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

Diff of /eclass/php-ext-pecl-r1.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.14 Revision 1.15
1# Copyright 1999-2011 Gentoo Foundation 1# Copyright 1999-2011 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/php-ext-pecl-r1.eclass,v 1.14 2011/08/22 04:46:32 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/php-ext-pecl-r1.eclass,v 1.15 2011/09/03 08:25:34 scarabeus Exp $
4 4
5# @ECLASS: php-ext-pecl-r1.eclass 5# @DEAD
6# @MAINTAINER: 6# To be removed on 2011/11/03.
7# Gentoo PHP team <php-bugs@gentoo.org> 7ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass"
8# @AUTHOR:
9# Author: Tal Peer <coredumb@gentoo.org>
10# Author: Luca Longinotti <chtekk@gentoo.org>
11# Author: Jakub Moc <jakub@gentoo.org>
12# @BLURB: A uniform way of installing PECL extensions
13# @DESCRIPTION:
14# This eclass should be used by all dev-php[45]/pecl-* ebuilds
15# as a uniform way of installing PECL extensions.
16# For more information about PECL, see http://pecl.php.net/
17
18# @ECLASS-VARIABLE: PHP_EXT_PECL_PKG
19# @DESCRIPTION:
20# Set in ebuild before inheriting this eclass if the tarball name
21# differs from ${PN/pecl-/} so that SRC_URI and HOMEPAGE gets set
22# correctly by the eclass.
23#
24# Setting this variable manually also affects PHP_EXT_NAME and ${S}
25# unless you override those in ebuild. Also see PHP_EXT_PECL_FILENAME
26# if this is not desired for whatever reason.
27
28# @ECLASS-VARIABLE: PHP_EXT_PECL_FILENAME
29# @DESCRIPTION:
30# Set in ebuild before inheriting this eclass if the tarball name
31# differs from ${PN/pecl-/} so that SRC_URI gets set correctly by
32# the eclass.
33#
34# Unlike PHP_EXT_PECL_PKG, setting this variable does not affect
35# HOMEPAGE, PHP_EXT_NAME or ${S}.
36
37
38[[ -z "${PHP_EXT_PECL_PKG}" ]] && PHP_EXT_PECL_PKG="${PN/pecl-/}"
39
40PECL_PKG="${PHP_EXT_PECL_PKG}"
41MY_PV="${PV/_/}"
42PECL_PKG_V="${PECL_PKG}-${MY_PV}"
43
44[[ -z "${PHP_EXT_NAME}" ]] && PHP_EXT_NAME="${PECL_PKG}"
45
46inherit php-ext-source-r1 depend.php
47
48EXPORT_FUNCTIONS src_compile src_install src_test
49
50if [[ -n "${PHP_EXT_PECL_FILENAME}" ]] ; then
51 FILENAME="${PHP_EXT_PECL_FILENAME}-${MY_PV}.tgz"
52else
53 FILENAME="${PECL_PKG_V}.tgz"
54fi
55
56SRC_URI="http://pecl.php.net/get/${FILENAME}"
57HOMEPAGE="http://pecl.php.net/${PECL_PKG}"
58
59S="${WORKDIR}/${PECL_PKG_V}"
60
61# @FUNCTION: php-ext-pecl-r1_src_compile
62# @DESCRIPTION:
63# Takes care of standard compile for PECL packages.
64php-ext-pecl-r1_src_compile() {
65 has_php
66 php-ext-source-r1_src_compile
67}
68
69# @FUNCTION: php-ext-pecl-r1_src_install
70# @DESCRIPTION:
71# Takes care of standard install for PECL packages.
72# You can also simply add examples to IUSE to automagically install
73# examples supplied with the package.
74
75# @VARIABLE: DOCS
76# @DESCRIPTION:
77# Set in ebuild if you wish to install additional, package-specific documentation.
78php-ext-pecl-r1_src_install() {
79 has_php
80 php-ext-source-r1_src_install
81
82 for doc in ${DOCS} "${WORKDIR}"/package.xml CREDITS ; do
83 [[ -s ${doc} ]] && dodoc-php ${doc}
84 done
85
86 if has examples ${IUSE} && use examples ; then
87 insinto /usr/share/doc/${CATEGORY}/${PF}/examples
88 doins -r examples/*
89 fi
90}
91
92# @FUNCTION: php-ext-pecl-r1_src_test
93# @DESCRIPTION:
94# Takes care of running any tests delivered with the PECL package.
95# Testing is somewhat standardized across pecl extensions through phpize's
96# run-tests.php - unfortunatly there are some quirks we need to work around
97php-ext-pecl-r1_src_test() {
98 # Makefile passes a hard-coded -d extension_dir=./modules, we move the lib
99 # away from there in src_compile
100 ln -s "${WORKDIR}/${PHP_EXT_NAME}-default.so" "${S}/modules/${PHP_EXT_NAME}.so"
101
102 NO_INTERACTION="yes" emake test || die "emake test failed"
103}

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.20