forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-php/PEAR-PEAR: Version bump to 1.10.5
Adds compatibility for PHP 7.2 Package-Manager: Portage-2.3.6, Repoman-2.3.2
- Loading branch information
Brian Evans
committed
Jun 27, 2017
1 parent
b834d7a
commit dd82227
Showing
2 changed files
with
178 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST PEAR-1.10.1.tgz 291167 SHA256 7eca0d8e4f6391d66d92abc4faebd5a9346e739b92573e20392db9e878a8d59f SHA512 df5f09a92d211a09dae147af474399171aed46e0536c091468b73b43ba4acdbdbf7b5cbdd17ef48b7d36d7b9dd23187dc6c75733731c267768d49c89698b0ef2 WHIRLPOOL ef067937d805a1e5c082c5945ffcbffd005757326f72572563154f2b5c573713050cc002af7727ebe053b3956fa1113c29bbbad6e74d8fb110704b07b7291929 | ||
DIST PEAR-1.10.3.tgz 291095 SHA256 c882979c48640b0b1a71cf2290dad3b3bbef1c33e4f1ec9af36a710e88e7921a SHA512 1ad531a6e0ac30719b05e58f0758393bc6cdb0e89b4f99f843e7318a40ef18e74767e8ed63346b0ece9d6e8e71c8ebe15b08eaeb6f0c4f3169814bb4bb524332 WHIRLPOOL 987d875a76ccbf26ea3fce0ca1b11d0885bcd98c73c1bdd43ce41f5f0cec4504f769aaa2b1bca3e501763ab21c3d6980a2eb02d26bfdfbd6f9a28f938ebbd4ea | ||
DIST PEAR-1.10.5.tgz 291151 SHA256 74c28725fed39617a6c2f310d5e1185b05982e3478196c2fedc64b4e747c2465 SHA512 c310fa8ec72ba201313dc03953ec1eba82daa137b27eac880fd5388dce72d38e6aa40737da43c3ad41db4df0d6717c7d77cf477d64b29245854ae95d2a94c364 WHIRLPOOL 8d2bf23cb28c4242b9c452f141b42d445e2fce343ed091bc834ba058fb0358a1b22228585c0074bde445a0de8807af27b57d503962e57c45cd1f00e2f982ad7e |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,177 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
MY_PN="${PN/PEAR-/}" | ||
MY_P="${MY_PN}-${PV}" | ||
|
||
DESCRIPTION="PEAR Base System" | ||
HOMEPAGE="http://pear.php.net/package/${MY_PN}" | ||
SRC_URI="http://pear.php.net/get/${MY_P}.tgz" | ||
LICENSE="MIT" | ||
KEYWORDS="~amd64 ~arm ~hppa" | ||
SLOT="0" | ||
IUSE="" | ||
|
||
DEPEND="" | ||
RDEPEND="dev-lang/php:*[cli,xml,zlib] | ||
>=dev-php/PEAR-Archive_Tar-1.4.0 | ||
>=dev-php/PEAR-Console_Getopt-1.4.1 | ||
dev-php/PEAR-Exception | ||
>=dev-php/PEAR-Structures_Graph-1.1.0 | ||
>=dev-php/PEAR-XML_Util-1.3.0" | ||
|
||
S="${WORKDIR}/${MY_P}" | ||
|
||
PATCHES=( "${FILESDIR}/gentoo-libtool-mismatch-fix-v2.patch" ) | ||
|
||
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() { | ||
default | ||
# Exception.php is part of dev-php/PEAR-Exception. | ||
rm PEAR/Exception.php || die "failed to remove PEAR/Exception.php" | ||
} | ||
|
||
src_install() { | ||
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 | ||
[[ -z "${PEAR}" ]] && PEAR="${PV}" | ||
for i in pearcmd.php peclcmd.php ; do | ||
sed "s:@pear_version@:${PEAR}:g" -i "${D}/usr/share/php/${i}" \ | ||
|| die "failed to sed pear_version" | ||
done | ||
|
||
for i in pear peardev pecl ; do | ||
sed "s:@bin_dir@:${EPREFIX}/usr/bin:g" -i "${D}/usr/bin/${i}" \ | ||
|| die "failed to sed @bin_dir@ in ${i}" | ||
sed "s:@php_dir@:${EPREFIX}/usr/share/php:g" -i "${D}/usr/bin/${i}" \ | ||
|| die "failed to sed @php_dir@ in ${i}" | ||
done | ||
|
||
sed "s:-d output_buffering=1:-d output_buffering=1 -d memory_limit=32M:g" \ | ||
-i "${D}/usr/bin/pear" \ | ||
|| die "failed to set PHP ini values in pear executable" | ||
|
||
sed "s:@package_version@:${PEAR}:g" \ | ||
-i "${D}/usr/share/php/PEAR/Command/Package.php" \ | ||
|| die "failed to sed @package_version@" | ||
|
||
sed "s:@PEAR-VER@:${PEAR}:g" \ | ||
-i "${D}/usr/share/php/PEAR/Dependency2.php" \ | ||
|| die "failed to sed @PEAR-VER@ in Dependency2.php" | ||
|
||
sed "s:@PEAR-VER@:${PEAR}:g" \ | ||
-i "${D}/usr/share/php/PEAR/PackageFile/Parser/v1.php" \ | ||
|| die "failed to sed @PEAR-VER@ in v1.php" | ||
|
||
sed "s:@PEAR-VER@:${PEAR}:g" \ | ||
-i "${D}/usr/share/php/PEAR/PackageFile/Parser/v2.php" \ | ||
|| die "failed to sed @PEAR-VER@ in 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" \ | ||
|| die "failed to sed PHPCLILEN in pear.conf" | ||
|
||
sed "s|s:CACHEDIRLEN:\"CACHEDIR\"|s:${#PEAR_CACHEDIR}:\"${PEAR_CACHEDIR}\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed CACHEDIRLEN in pear.conf" | ||
|
||
sed "s|s:DOWNLOADDIRLEN:\"DOWNLOADDIR\"|s:${#PEAR_DOWNLOADDIR}:\"${PEAR_DOWNLOADDIR}\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed DOWNLOADDIRLEN in pear.conf" | ||
|
||
sed "s|s:TEMPDIRLEN:\"TEMPDIR\"|s:${#PEAR_TEMPDIR}:\"${PEAR_TEMPDIR}\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed TEMPDIRLEN in 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" \ | ||
|| die "failed to sed the docs path (prefix) in pear.conf" | ||
|
||
sed "s|s:19:\"/usr/share/php/data\"|s:$(( ${#EPREFIX}+19 )):\"${EPREFIX}/usr/share/php/data\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed the data path (prefix) in pear.conf" | ||
|
||
sed "s|s:20:\"/usr/share/php/tests\"|s:$(( ${#EPREFIX}+20 )):\"${EPREFIX}/usr/share/php/tests\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed the tests path (prefix) in pear.conf" | ||
|
||
sed "s|s:14:\"/usr/share/php\"|s:$(( ${#EPREFIX}+14 )):\"${EPREFIX}/usr/share/php\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed the PHP include path (prefix) in pear.conf" | ||
|
||
sed "s|s:8:\"/usr/bin\"|s:$(( ${#EPREFIX}+8 )):\"${EPREFIX}/usr/bin\"|g" \ | ||
-i "${D}/etc/pear.conf" \ | ||
|| die "failed to sed the bin path (prefix) in pear.conf" | ||
|
||
[[ "${PEAR_TEMPDIR}" != "/tmp" ]] && keepdir "${PEAR_TEMPDIR#${EPREFIX}}" | ||
keepdir "${PEAR_CACHEDIR#${EPREFIX}}" | ||
diropts -m1777 | ||
keepdir "${PEAR_DOWNLOADDIR#${EPREFIX}}" | ||
|
||
insinto /usr/share/php/.packagexml | ||
newins "${WORKDIR}/package.xml" "${MY_P}.xml" | ||
} | ||
|
||
pkg_config() { | ||
# Update PEAR/PECL channels as needed, add new ones to the list if needed | ||
elog "Updating PEAR/PECL channels" | ||
local pearchans="pear.php.net pecl.php.net pear.symfony-project.com" | ||
|
||
for chan in ${pearchans} ; do | ||
# The first command may fail if, for example, the channels have | ||
# already been initialized. | ||
pear channel-discover ${chan} | ||
pear channel-update ${chan} || die "failed to update channels: ${chan}" | ||
done | ||
} | ||
|
||
pkg_postinst() { | ||
pear clear-cache || die "failed to clear PEAR cache" | ||
|
||
elog "Run 'emerge --config =${PF}' to automatically update the PEAR/PECL channels while online." | ||
|
||
# Register the package from the package.xml file | ||
# It is not critical to complete so only warn on failure | ||
if [[ -f "${EROOT}usr/share/php/.packagexml/${MY_P}.xml" ]] ; then | ||
"${EROOT}usr/bin/peardev" install -nrO --force \ | ||
"${EROOT}usr/share/php/.packagexml/${MY_P}.xml" 2> /dev/null \ | ||
|| ewarn "Failed to insert package into local PEAR database" | ||
fi | ||
} | ||
|
||
pkg_prerm() { | ||
# Uninstall known dependency | ||
"${EROOT}usr/bin/peardev" uninstall -nrO "pear.php.net/PEAR" | ||
} |