public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michael Orlitzky" <mjo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-php/pecl-http/
Date: Sun, 19 Mar 2017 17:32:36 +0000 (UTC)	[thread overview]
Message-ID: <1489944736.e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5.mjo@gentoo> (raw)

commit:     e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 19 17:21:12 2017 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Sun Mar 19 17:32:16 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4fc5bf0

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

 dev-php/pecl-http/pecl-http-2.6.0-r1.ebuild | 69 +++++++++++++++++++++++++++++
 dev-php/pecl-http/pecl-http-3.1.0-r1.ebuild | 69 +++++++++++++++++++++++++++++
 2 files changed, 138 insertions(+)

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 00000000000..17aa145af9e
--- /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 00000000000..39ea6b2346b
--- /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
+}


             reply	other threads:[~2017-03-19 17:32 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-19 17:32 Michael Orlitzky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-12  7:54 [gentoo-commits] repo/gentoo:master commit in: dev-php/pecl-http/ Sam James
2024-12-12  7:07 Arthur Zamarin
2024-12-11  5:39 Sam James
2024-12-11  3:56 Sam James
2023-11-25  5:36 Sam James
2023-07-27 18:49 Michael Orlitzky
2023-07-05  4:19 Sam James
2023-07-05  4:19 Sam James
2023-07-05  4:19 Sam James
2023-07-05  4:19 Sam James
2022-06-30 14:32 Brian Evans
2022-06-30 14:04 Brian Evans
2022-04-12 13:24 Brian Evans
2022-04-11 18:03 Brian Evans
2021-10-23 12:46 Brian Evans
2021-10-23  7:44 Agostino Sarubbo
2021-10-21  4:40 Agostino Sarubbo
2021-09-22 14:51 Brian Evans
2021-05-19 15:08 Brian Evans
2021-05-18 18:37 Thomas Deutschmann
2021-05-01 18:07 Sam James
2021-02-01 15:44 Brian Evans
2021-02-01 15:44 Brian Evans
2021-01-21  2:49 Brian Evans
2021-01-21  2:49 Brian Evans
2020-12-10 20:26 Brian Evans
2019-12-13  0:07 Thomas Deutschmann
2019-12-05 19:02 Brian Evans
2019-12-02 14:10 Thomas Deutschmann
2019-11-28 22:48 Thomas Deutschmann
2019-11-17 21:01 Thomas Deutschmann
2019-06-07 14:14 Thomas Deutschmann
2018-12-18  0:51 Thomas Deutschmann
2018-05-18 20:11 Brian Evans
2018-01-29 16:44 Brian Evans
2017-10-09 13:22 Brian Evans
2017-03-19 17:32 Michael Orlitzky
2017-02-23 16:30 Agostino Sarubbo
2017-02-22 15:06 Agostino Sarubbo
2016-12-28 21:20 Brian Evans
2016-11-24  2:03 Michael Orlitzky
2016-11-19 13:55 Agostino Sarubbo
2016-11-19 13:53 Agostino Sarubbo
2016-08-23 20:58 Brian Evans
2016-07-13 14:41 Brian Evans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1489944736.e4fc5bf05ab9573dec1ed05601a31cca0e19c8f5.mjo@gentoo \
    --to=mjo@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox