diff options
Diffstat (limited to 'dev-php/PEAR-PEAR')
-rw-r--r-- | dev-php/PEAR-PEAR/Manifest | 2 | ||||
-rw-r--r-- | dev-php/PEAR-PEAR/PEAR-PEAR-1.10.13.ebuild | 177 |
2 files changed, 179 insertions, 0 deletions
diff --git a/dev-php/PEAR-PEAR/Manifest b/dev-php/PEAR-PEAR/Manifest index 5083b776f742..758a36ff9ec8 100644 --- a/dev-php/PEAR-PEAR/Manifest +++ b/dev-php/PEAR-PEAR/Manifest @@ -1,5 +1,7 @@ AUX gentoo-libtool-mismatch-fix-v2.patch 510 BLAKE2B 59571998b848501efcdd4c304dc48e4950560f2f4d08add530d078787519b1c33dd511e92914208342011bd727e0fca12974b92a46b6a6bc9a66cbca061c9495 SHA512 03848aa6447c2969715e872481e17f7a6dbe7df9e42a13305fdbcfaf09505de40ed6d91c9c93f11a944adc94389472f04eac2b656f08dbdd9d1c3a1d07946ff4 AUX pear.conf-r2 379 BLAKE2B fe57574f4e4ce095f7ddd9bc26606181a86e67f6c8e6dad57a713e187175b711d50d90c346759d430c32da0a740e7f79cffc7ccedc3b719d04dcd1792a9309f6 SHA512 81e4c95ccfd1a50d30d6e9db90fa099f3dd098bf4fa2c023f5369d0e96a197da91d2572ff3785bcfc83dba82abeca3932431083b5aa2aed155336697764666be DIST PEAR-1.10.12.tgz 293220 BLAKE2B fb25123852a60e4bd2c041d1fb58174b3053b24ff8ec19b44efe02aee041bbed102b14b270dc1c9764150eea7c85862ad78adefdc1d789540da18ec0f3aeae68 SHA512 1ce478800a150d7906f8aa4fa4371d3d190fa2af44691c9aa193babfe76f1b031b493f48df15b93e93dd5518a6d62ba6a7d5b1799b62d5a968f7a84f3677b971 +DIST PEAR-1.10.13.tgz 293384 BLAKE2B 0adbf707d71cfd584b1338e906fbd38de038292a91153547ed87bdea4c0a7c9ee2ca01c25c91cf8246b8fba88b71126fa8b76ed7059b4338d5bbc65c3d53ce78 SHA512 2a08134365b7bd92840880a23149ef457b0a3a04b78dc71f5db475911b49def58d8cb825332151df8d3eb5941b54157ae80879f36fc8de59037f301fc0565740 EBUILD PEAR-PEAR-1.10.12.ebuild 5897 BLAKE2B f5c9c8e98b23638cec1579a8ab8966b5abb287f105ecfc6d794cf50646dedfb657f4ef4b54315d815ed2feb1627edbcd89ef5bf3c8e6362f3c4f4431a23500a3 SHA512 263a6f2e3035d2f738e4633c9e0078389c6ce3ffb3760e9e215c9a933e73a00730ec3cb842672599d80fe6b90919c622f2c012b6fa4d4bcb18d4f78d608909aa +EBUILD PEAR-PEAR-1.10.13.ebuild 5903 BLAKE2B 3e103091a6f0f6878521dcf79ce4a73bfdb1a265afa58064f6daef6760f92a922095889d18a08eb49c02e6b898ab8d04c7e0c29bf99b5cd091de4cf0c29fe9b4 SHA512 5c536d6b008d2c3bc55c62c1807d9411ee2a0afcb48ad80b2795a329fd245fecc253d96115e95ea7a65f062e334ed74878c2e565265ed22676b33e78ca9d3540 MISC metadata.xml 330 BLAKE2B b29bdd083977a57f2ebab61b7d1642dce8f373a863d94c6b5e3f0440b74c304de8943d6bebee811fd4262eecfd3289bf0284db2073013afeabf7481f62c5c73a SHA512 71e2b7db5ab5c40629d27f2f3e2cff54da4bea771eb48f9cbd8f76784b42a347ccf8551cf0949866ba1a8c47c5af9d0dfd30757fca13d839ecd9afcee83d59de diff --git a/dev-php/PEAR-PEAR/PEAR-PEAR-1.10.13.ebuild b/dev-php/PEAR-PEAR/PEAR-PEAR-1.10.13.ebuild new file mode 100644 index 000000000000..5cc6db313633 --- /dev/null +++ b/dev-php/PEAR-PEAR/PEAR-PEAR-1.10.13.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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" +LICENSE="MIT" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +SLOT="0" +IUSE="" + +DEPEND="" +RDEPEND="dev-lang/php:*[cli(-),xml(-),zlib(-)] + >=dev-php/PEAR-Archive_Tar-1.4.9 + >=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.4.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" +} |