mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-05 14:07:27 -08:00
dev-php/PEAR-PEAR: add 1.10.16
This version hides some warnings with newer versions of PHP that can kill the dev-lang/php[phar] build when error_log is configured to write outside of the sandbox. Bug: https://bugs.gentoo.org/966084 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This commit is contained in:
parent
07ad53b6e7
commit
d35364a0aa
@ -1 +1,2 @@
|
||||
DIST PEAR-1.10.15.tgz 293432 BLAKE2B afeae61583183f553bd33ab868d4206e3d1535c884c6ce8630d2e2318fd8374530ada2fd1e62853a51f49a47510dd1ec56cd30a85186ac75c815cec8c42c1a5e SHA512 b906678435b96be96c649f0c8c3681c2a7d8f2f4dd9109f9b99e99c4ce17b2efc32df850fd52ed6a08cf08e137fb86e1da98c8bccf89083e1670011bbdf10b3c
|
||||
DIST PEAR-1.10.16.tgz 293781 BLAKE2B 0525e5ac748c5f2690e04b009618fdf3b65d37822844c553f87e50a7356833121b43d95d4ccae394a0ebd388ca078e17e344b9f7ddebc385715e091eb2f3cd9c SHA512 274e642a1c606e0caa9f4c9e4c5fcca69b92b8bcc952dfcb7b8bc1e249eaf04eed2d2caddafe3f722760a723fc1a7d851a404d32115a95f3c3157c91300f0b7b
|
||||
|
||||
174
dev-php/PEAR-PEAR/PEAR-PEAR-1.10.16.ebuild
Normal file
174
dev-php/PEAR-PEAR/PEAR-PEAR-1.10.16.ebuild
Normal file
@ -0,0 +1,174 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MY_PN="${PN/PEAR-/}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="PEAR Base System"
|
||||
HOMEPAGE="https://pear.php.net/package/PEAR"
|
||||
SRC_URI="https://pear.php.net/get/${MY_P}.tgz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
|
||||
RDEPEND="dev-lang/php:*[cli(-),xml(-),zlib(-)]
|
||||
dev-php/PEAR-Archive_Tar
|
||||
dev-php/PEAR-Console_Getopt
|
||||
dev-php/PEAR-Exception
|
||||
dev-php/PEAR-Structures_Graph
|
||||
dev-php/PEAR-XML_Util"
|
||||
|
||||
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"
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user