diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2017-03-19 13:21:12 -0400 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2017-03-19 13:32:16 -0400 |
commit | e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5 (patch) | |
tree | c65e221971f51bc1158901f4614f69f580ed76fa /dev-php/pecl-http | |
parent | dev-php/pecl-http: remove unused versions 2.5.6 and 3.0.1. (diff) | |
download | gentoo-e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5.tar.gz gentoo-e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5.tar.bz2 gentoo-e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5.zip |
dev-php/pecl-http: new revisions to fix extension load order.
The http extension has dependencies on two other extensions, and needs
to be loaded after them. Our eclass currently can't handle that -- we
throw files into /etc/php/.../ext-active, and they get loaded in glob
order. For an ugly workaround, I've renamed the symlinks that get
installed in ext-active to "zzhttp.ini", but have left them pointing
to a file named "http.ini" in the "ext" directory.
That fixes the problem for pecl-http, but it would be nice to have a
long-term solution for the problem. I've made a note to that effect on
bug 586446, where we are tracking future improvements to the eclass.
Gentoo-Bug: 586446
Gentoo-Bug: 612054
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'dev-php/pecl-http')
-rw-r--r-- | dev-php/pecl-http/pecl-http-2.6.0-r1.ebuild | 69 | ||||
-rw-r--r-- | dev-php/pecl-http/pecl-http-3.1.0-r1.ebuild | 69 |
2 files changed, 138 insertions, 0 deletions
diff --git a/dev-php/pecl-http/pecl-http-2.6.0-r1.ebuild b/dev-php/pecl-http/pecl-http-2.6.0-r1.ebuild new file mode 100644 index 000000000000..17aa145af9e9 --- /dev/null +++ b/dev-php/pecl-http/pecl-http-2.6.0-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PHP_EXT_NAME="http" +PHP_EXT_PECL_PKG="pecl_http" +PHP_EXT_INI="yes" +PHP_EXT_ZENDEXT="no" + +USE_PHP="php5-6 php7-0 php7-1" + +inherit php-ext-pecl-r3 + +USE_PHP="php5-6" + +KEYWORDS="~amd64 ~x86" + +DESCRIPTION="Extended HTTP Support for PHP" +LICENSE="BSD-2 MIT" +SLOT="2" +IUSE="ssl curl_ssl_gnutls curl_ssl_libressl curl_ssl_nss +curl_ssl_openssl" + +DEPEND="php_targets_php5-6? ( + dev-libs/libevent + dev-php/pecl-propro:0[php_targets_php5-6] + dev-php/pecl-raphf:0[php_targets_php5-6] + net-dns/libidn + sys-libs/zlib + ssl? ( net-misc/curl[ssl,curl_ssl_gnutls=,curl_ssl_libressl=,curl_ssl_nss=,curl_ssl_openssl=] ) + !ssl? ( net-misc/curl[-ssl] ) + dev-lang/php:5.6[hash,session,iconv] )" +RDEPEND="${DEPEND}" +PDEPEND=" + php_targets_php7-0? ( dev-php/pecl-http:7[php_targets_php7-0] ) + php_targets_php7-1? ( dev-php/pecl-http:7[php_targets_php7-1] )" + +PHP_EXT_ECONF_ARGS=( --with-http --without-http-shared-deps ) + +src_prepare() { + if use php_targets_php5-6 ; then + php-ext-source-r3_src_prepare + else + default_src_prepare + fi +} + +src_install() { + if use php_targets_php5-6 ; then + php-ext-pecl-r3_src_install + + # Ensure that the http extension is loaded after its + # dependencies raphf and propro (bug 612054). Some day + # this should be possible through the eclass (bug 586446). + local slot, file, oldname, newname + for slot in $(php_get_slots); do + php_init_slot_env "${slot}" + for file in $(php_slot_ini_files "${slot}") ; do + # Prepend "zz" to the ini symlink name. This is sadly + # coupled to the naming convention in the eclass. + oldname="${ED}/${file/ext/ext-active}" + newname="${oldname/${PHP_EXT_NAME}.ini/zz${PHP_EXT_NAME}.ini}" + mv "${oldname}" "${newname}" \ + || die "failed to rename ${oldname} to ${newname}" + einfo "renamed ${oldname} to ${newname}" + done + done + fi +} diff --git a/dev-php/pecl-http/pecl-http-3.1.0-r1.ebuild b/dev-php/pecl-http/pecl-http-3.1.0-r1.ebuild new file mode 100644 index 000000000000..39ea6b2346b9 --- /dev/null +++ b/dev-php/pecl-http/pecl-http-3.1.0-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PHP_EXT_NAME="http" +PHP_EXT_PECL_PKG="pecl_http" +PHP_EXT_INI="yes" +PHP_EXT_ZENDEXT="no" + +USE_PHP="php5-6 php7-0 php7-1" + +inherit php-ext-pecl-r3 + +USE_PHP="php7-0 php7-1" + +KEYWORDS="~amd64 ~x86" + +DESCRIPTION="Extended HTTP Support for PHP" +LICENSE="BSD-2 MIT" +SLOT="7" +IUSE="ssl curl_ssl_gnutls curl_ssl_libressl curl_ssl_nss +curl_ssl_openssl" + +DEPEND="dev-libs/libevent + dev-php/pecl-propro:7[php_targets_php5-6?,php_targets_php7-0?,php_targets_php7-1?] + dev-php/pecl-raphf:7[php_targets_php5-6?,php_targets_php7-0?,php_targets_php7-1?] + net-dns/libidn + sys-libs/zlib + ssl? ( net-misc/curl[ssl,curl_ssl_gnutls=,curl_ssl_libressl=,curl_ssl_nss=,curl_ssl_openssl=] ) + !ssl? ( net-misc/curl[-ssl] ) + php_targets_php7-0? ( dev-lang/php:7.0[hash,session,iconv] ) + php_targets_php7-1? ( dev-lang/php:7.1[hash,session,iconv] )" +RDEPEND="${DEPEND} + php_targets_php5-6? ( dev-php/pecl-http:2[php_targets_php5-6] )" + +PHP_EXT_ECONF_ARGS=( --with-http --without-http-shared-deps ) + +PATCHES=( "${FILESDIR}/pecl-http-gnutls.patch" ) + +src_prepare() { + if use php_targets_php7-0 || use php_targets_php7-1 ; then + php-ext-source-r3_src_prepare + else + default_src_prepare + fi +} + +src_install() { + if use php_targets_php7-0 || use php_targets_php7-1 ; then + php-ext-pecl-r3_src_install + + # Ensure that the http extension is loaded after its + # dependencies raphf and propro (bug 612054). Some day + # this should be possible through the eclass (bug 586446). + local slot, file, oldname, newname + for slot in $(php_get_slots); do + php_init_slot_env "${slot}" + for file in $(php_slot_ini_files "${slot}") ; do + # Prepend "zz" to the ini symlink name. This is sadly + # coupled to the naming convention in the eclass. + oldname="${ED}/${file/ext/ext-active}" + newname="${oldname/${PHP_EXT_NAME}.ini/zz${PHP_EXT_NAME}.ini}" + mv "${oldname}" "${newname}" \ + || die "failed to rename ${oldname} to ${newname}" + einfo "renamed ${oldname} to ${newname}" + done + done + fi +} |