blob: 96d119d6b2867a98d5b14437890bf5d6feb67f6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-php/PEAR-PEAR/PEAR-PEAR-1.6.1.ebuild,v 1.9 2007/08/25 13:24:06 vapier Exp $
inherit depend.php
ARCHIVE_TAR="1.3.2"
CONSOLE_GETOPT="1.2.3"
STRUCTURES_GRAPH="1.0.2"
XML_RPC="1.5.1"
PEAR="1.6.1"
[[ -z "${PEAR_CACHEDIR}" ]] && PEAR_CACHEDIR="/var/cache/pear"
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
DESCRIPTION="PEAR Base System (PEAR, Archive_Tar, Console_Getopt, Structures_Graph, XML_RPC)."
HOMEPAGE="http://pear.php.net/"
SRC_URI="http://pear.php.net/get/Archive_Tar-${ARCHIVE_TAR}.tgz
http://pear.php.net/get/Console_Getopt-${CONSOLE_GETOPT}.tgz
http://pear.php.net/get/Structures_Graph-${STRUCTURES_GRAPH}.tgz
http://pear.php.net/get/XML_RPC-${XML_RPC}.tgz
http://pear.php.net/get/PEAR-${PEAR}.tgz"
LICENSE="LGPL-2.1 PHP"
SLOT="0"
IUSE=""
# we deliberately force people to remove their old PEAR installations,
# and any package which may have put an old-style PEAR installation onto
# their box
# we also depend on a recent sandbox version to mitigate problems users
# have been experiencing
DEPEND="dev-lang/php
!dev-php/php
!dev-php/php-cgi
!dev-php/mod_php
!<dev-php/PEAR-PEAR-1.3.6-r2
!dev-php/PEAR-Archive_Tar
!dev-php/PEAR-Console_Getopt
!dev-php/PEAR-XML_RPC
>=sys-apps/sandbox-1.2.17"
RDEPEND="${DEPEND}"
pkg_setup() {
# we call this here, to ensure that the eclass picks the right
# version of php for the job
require_php_cli
# we check that PHP was compiled with the correct USE flags
if [[ ${PHP_VERSION} == "4" ]] ; then
require_php_with_use cli pcre expat zlib
else
require_php_with_use cli pcre xml zlib
fi
}
src_install() {
require_php_cli
# Prevent SNMP related sandbox violoation.
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/
mkdir -p "${WORKDIR}/PEAR/XML/RPC"
# Install PEAR Package.
cp -r "${WORKDIR}/PEAR-${PEAR}/OS" "${WORKDIR}/PEAR/"
cp -r "${WORKDIR}/PEAR-${PEAR}/PEAR" "${WORKDIR}/PEAR/"
cp "${WORKDIR}/PEAR-${PEAR}/PEAR.php" "${WORKDIR}/PEAR/PEAR.php"
cp "${WORKDIR}/PEAR-${PEAR}/System.php" "${WORKDIR}/PEAR/System.php"
# Prepare /usr/bin/pear script.
cp "${WORKDIR}/PEAR-${PEAR}/scripts/pearcmd.php" "${WORKDIR}/PEAR/pearcmd.php"
sed -i "s:@pear_version@:${PEAR}:g" "${WORKDIR}/PEAR/pearcmd.php" || die "sed failed"
cp "${WORKDIR}/PEAR-${PEAR}/scripts/pear.sh" "${WORKDIR}/PEAR/pear"
sed -i "s:@php_bin@:${PHPCLI}:g" "${WORKDIR}/PEAR/pear" || die "sed failed"
sed -i "s:@bin_dir@:/usr/bin:g" "${WORKDIR}/PEAR/pear" || die "sed failed"
sed -i "s:@php_dir@:/usr/share/php:g" "${WORKDIR}/PEAR/pear" || die "sed failed"
sed -i "s:-d output_buffering=1:-d output_buffering=1 -d memory_limit=32M:g" "${WORKDIR}/PEAR/pear" || die "sed failed"
# Prepare /usr/bin/peardev script.
cp "${WORKDIR}/PEAR-${PEAR}/scripts/peardev.sh" "${WORKDIR}/PEAR/peardev"
sed -i "s:@php_bin@:${PHPCLI}:g" "${WORKDIR}/PEAR/peardev" || die "sed failed"
sed -i "s:@bin_dir@:/usr/bin:g" "${WORKDIR}/PEAR/peardev" || die "sed failed"
sed -i "s:@php_dir@:/usr/share/php:g" "${WORKDIR}/PEAR/peardev" || die "sed failed"
# Prepare /usr/bin/pecl script.
cp "${WORKDIR}/PEAR-${PEAR}/scripts/peclcmd.php" "${WORKDIR}/PEAR/peclcmd.php"
sed -i "s:@pear_version@:${PEAR}:g" "${WORKDIR}/PEAR/peclcmd.php" || die "sed failed"
cp "${WORKDIR}/PEAR-${PEAR}/scripts/pecl.sh" "${WORKDIR}/PEAR/pecl"
sed -i "s:@php_bin@:${PHPCLI}:g" "${WORKDIR}/PEAR/pecl" || die "sed failed"
sed -i "s:@bin_dir@:/usr/bin:g" "${WORKDIR}/PEAR/pecl" || die "sed failed"
sed -i "s:@php_dir@:/usr/share/php:g" "${WORKDIR}/PEAR/pecl" || die "sed failed"
# Prepare PEAR/Dependency2.php.
sed -i "s:@PEAR-VER@:${PEAR}:g" "${WORKDIR}/PEAR/PEAR/Dependency2.php" || die "sed failed"
# Install Archive_Tar Package.
cp -r "${WORKDIR}/Archive_Tar-${ARCHIVE_TAR}/Archive" "${WORKDIR}/PEAR/"
# Install Console_Getopt Package.
cp -r "${WORKDIR}/Console_Getopt-${CONSOLE_GETOPT}/Console" "${WORKDIR}/PEAR/"
# Install Structures_Graph Package.
cp -r "${WORKDIR}/Structures_Graph-${STRUCTURES_GRAPH}/Structures" "${WORKDIR}/PEAR/"
# Install XML_RPC Package.
cp "${WORKDIR}/XML_RPC-${XML_RPC}/RPC.php" "${WORKDIR}/PEAR/XML/RPC.php"
cp "${WORKDIR}/XML_RPC-${XML_RPC}/Server.php" "${WORKDIR}/PEAR/XML/RPC/Server.php"
# Finalize installation.
cd "${WORKDIR}/PEAR"
insinto /usr/share/php
doins -r Archive Console OS PEAR Structures XML *.php
dobin pear peardev pecl
insinto /etc
doins "${FILESDIR}/pear.conf"
sed -e "s|s:PHPCLILEN:\"PHPCLI\"|s:${#PHPCLI}:\"${PHPCLI}\"|g" -i "${D}/etc/pear.conf" || die "sed failed"
sed -e "s|s:CACHEDIRLEN:\"CACHEDIR\"|s:${#PEAR_CACHEDIR}:\"${PEAR_CACHEDIR}\"|g" -i "${D}/etc/pear.conf" || die "sed failed"
keepdir "${PEAR_CACHEDIR}"
fperms 755 "${PEAR_CACHEDIR}"
}
pkg_preinst() {
rm -f "${ROOT}/etc/pear.conf"
}
pkg_postinst() {
pear clear-cache
# Update PEAR/PECL channels as needed, add new ones to the list if needed
pearchans="pear.php.net pecl.php.net components.ez.no pear.phpdb.org pear.phing.info pear.symfony-project.com pear.phpunit.de pear.php-baustelle.de"
for chan in ${pearchans} ; do
pear channel-discover ${chan}
pear channel-update ${chan}
done
}
|