dev-php/PEAR-PEAR: Version bump to 1.10.6
authorBrian Evans <grknight@gentoo.org>
Wed, 22 Aug 2018 20:09:15 +0000 (16:09 -0400)
committerBrian Evans <grknight@gentoo.org>
Wed, 22 Aug 2018 20:09:15 +0000 (16:09 -0400)
Package-Manager: Portage-2.3.48, Repoman-2.3.10

dev-php/PEAR-PEAR/Manifest
dev-php/PEAR-PEAR/PEAR-PEAR-1.10.6.ebuild [new file with mode: 0644]

index d385a3989d245870381e5c2078258135149bad25..070572a4ee3e43392b92432204859e746977dc06 100644 (file)
@@ -1 +1,2 @@
 DIST PEAR-1.10.5.tgz 291151 BLAKE2B b9095e6e488348917846693769f075c898271f2b65fbc69781247e8f46bf41afa4dfeb98d66c1aabce884e24c91bda50af3766745c3b8b5101aa54595e53c796 SHA512 c310fa8ec72ba201313dc03953ec1eba82daa137b27eac880fd5388dce72d38e6aa40737da43c3ad41db4df0d6717c7d77cf477d64b29245854ae95d2a94c364
+DIST PEAR-1.10.6.tgz 291529 BLAKE2B 7a75c89df2b34b368564e745a727292e5c5ee3a145995c15d338901b235664d0a783ca0efc9cd1d321cc2c496e88395db376ce7bbd6ccbf55d484d7f1021cd2b SHA512 ccd436a2cb9d30b434a78483432c51a8fa5b3e96e79ca3b28131b8dcd37bbae0b782efd762eb92dc40db24d3f61025c64ec5d29aed10fd80a6b28c224c4f1e2a
diff --git a/dev-php/PEAR-PEAR/PEAR-PEAR-1.10.6.ebuild b/dev-php/PEAR-PEAR/PEAR-PEAR-1.10.6.ebuild
new file mode 100644 (file)
index 0000000..68a7e6c
--- /dev/null
@@ -0,0 +1,177 @@
+# Copyright 1999-2018 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="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+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"
+}