108 lines
3.7 KiB
Bash
108 lines
3.7 KiB
Bash
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI="5"
|
|
|
|
inherit eutils
|
|
|
|
PEAR="${PV//_alpha/dev}"
|
|
|
|
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos"
|
|
|
|
DESCRIPTION="PEAR Base System"
|
|
HOMEPAGE="http://pear.php.net/package/PEAR"
|
|
SRC_URI="http://pear.php.net/get/PEAR-${PEAR}.tgz"
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
IUSE=""
|
|
|
|
DEPEND="dev-lang/php:*[cli,pcre(+),xml,zlib]"
|
|
|
|
RDEPEND="${DEPEND}"
|
|
|
|
PDEPEND="dev-php/pear"
|
|
|
|
S="${WORKDIR}"
|
|
|
|
pkg_setup() {
|
|
[[ -z "${PEAR_CACHEDIR}" ]] && PEAR_CACHEDIR="${EPREFIX}/var/cache/pear"
|
|
[[ -z "${PEAR_DOWNLOADDIR}" ]] && PEAR_DOWNLOADDIR="${EPREFIX}/var/tmp/pear"
|
|
[[ -z "${PEAR_TEMPDIR}" ]] && PEAR_TEMPDIR="${EPREFIX}/tmp"
|
|
|
|
elog
|
|
elog "cache_dir is set to: ${PEAR_CACHEDIR}"
|
|
elog "download_dir is set to: ${PEAR_DOWNLOADDIR}"
|
|
elog "temp_dir is set to: ${PEAR_TEMPDIR}"
|
|
elog
|
|
elog "If you want to change the above values, you need to set"
|
|
elog "PEAR_CACHEDIR, PEAR_DOWNLOADDIR and PEAR_TEMPDIR variable(s)"
|
|
elog "accordingly in /etc/portage/make.conf and re-emerge ${PN}."
|
|
elog
|
|
}
|
|
|
|
src_prepare() {
|
|
cd PEAR-${PEAR}
|
|
epatch "${FILESDIR}/gentoo-libtool-mismatch-fix-v2.patch"
|
|
epatch_user
|
|
}
|
|
|
|
src_install() {
|
|
# Prevent SNMP related sandbox violoation.
|
|
addpredict /usr/share/snmp/mibs/.index
|
|
addpredict /var/lib/net-snmp/
|
|
|
|
# install PEAR package
|
|
cd "${S}"/PEAR-${PEAR}
|
|
|
|
insinto /usr/share/php
|
|
doins -r PEAR/
|
|
doins -r OS/
|
|
doins PEAR.php System.php
|
|
doins scripts/pearcmd.php
|
|
doins scripts/peclcmd.php
|
|
|
|
newbin scripts/pear.sh pear
|
|
newbin scripts/peardev.sh peardev
|
|
newbin scripts/pecl.sh pecl
|
|
|
|
# adjust some scripts for current version
|
|
for i in pearcmd.php peclcmd.php ; do
|
|
sed "s:@pear_version@:${PEAR}:g" -i "${D}/usr/share/php/${i}"
|
|
done
|
|
|
|
for i in pear peardev pecl ; do
|
|
sed "s:@bin_dir@:${EPREFIX}/usr/bin:g" -i "${D}/usr/bin/${i}"
|
|
sed "s:@php_dir@:${EPREFIX}/usr/share/php:g" -i "${D}/usr/bin/${i}"
|
|
done
|
|
sed "s:-d output_buffering=1:-d output_buffering=1 -d memory_limit=32M:g" -i "${D}/usr/bin/pear"
|
|
|
|
sed "s:@package_version@:${PEAR}:g" -i "${D}/usr/share/php/PEAR/Command/Package.php"
|
|
sed "s:@PEAR-VER@:${PEAR}:g" -i "${D}/usr/share/php/PEAR/Dependency2.php"
|
|
sed "s:@PEAR-VER@:${PEAR}:g" -i "${D}/usr/share/php/PEAR/PackageFile/Parser/v1.php"
|
|
sed "s:@PEAR-VER@:${PEAR}:g" -i "${D}/usr/share/php/PEAR/PackageFile/Parser/v2.php"
|
|
|
|
# finalize install
|
|
insinto /etc
|
|
newins "${FILESDIR}"/pear.conf-r2 pear.conf
|
|
sed "s|s:PHPCLILEN:\"PHPCLI\"|s:${#PHPCLI}:\"${PHPCLI}\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:CACHEDIRLEN:\"CACHEDIR\"|s:${#PEAR_CACHEDIR}:\"${PEAR_CACHEDIR}\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:DOWNLOADDIRLEN:\"DOWNLOADDIR\"|s:${#PEAR_DOWNLOADDIR}:\"${PEAR_DOWNLOADDIR}\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:TEMPDIRLEN:\"TEMPDIR\"|s:${#PEAR_TEMPDIR}:\"${PEAR_TEMPDIR}\"|g" -i "${D}/etc/pear.conf"
|
|
|
|
# Change the paths for eprefix!
|
|
sed "s|s:19:\"/usr/share/php/docs\"|s:$(( ${#EPREFIX}+19 )):\"${EPREFIX}/usr/share/php/docs\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:19:\"/usr/share/php/data\"|s:$(( ${#EPREFIX}+19 )):\"${EPREFIX}/usr/share/php/data\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:20:\"/usr/share/php/tests\"|s:$(( ${#EPREFIX}+20 )):\"${EPREFIX}/usr/share/php/tests\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:14:\"/usr/share/php\"|s:$(( ${#EPREFIX}+14 )):\"${EPREFIX}/usr/share/php\"|g" -i "${D}/etc/pear.conf"
|
|
sed "s|s:8:\"/usr/bin\"|s:$(( ${#EPREFIX}+8 )):\"${EPREFIX}/usr/bin\"|g" -i "${D}/etc/pear.conf"
|
|
|
|
[[ "${PEAR_TEMPDIR}" != "/tmp" ]] && keepdir "${PEAR_TEMPDIR#${EPREFIX}}"
|
|
keepdir "${PEAR_CACHEDIR#${EPREFIX}}"
|
|
diropts -m1777
|
|
keepdir "${PEAR_DOWNLOADDIR#${EPREFIX}}"
|
|
}
|
|
|
|
pkg_preinst() {
|
|
rm -f "${EROOT}/etc/pear.conf"
|
|
}
|