summaryrefslogtreecommitdiff
blob: dc45e3503ea5650e0606f6a99cdef6ed2582063f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="7"

PHP_EXT_NAME="http"
PHP_EXT_PECL_PKG="pecl_http"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no"
PHP_INI_NAME="50-http"

USE_PHP="php7-3 php7-4 php8-0"

inherit php-ext-pecl-r3

USE_PHP="php8-0"

KEYWORDS="amd64 ~x86"

DESCRIPTION="Extended HTTP Support for PHP"
LICENSE="BSD-2 MIT"
SLOT="8"
IUSE="ssl curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl"

COMMON_DEPEND="app-arch/brotli:=
	dev-libs/libevent
	>=dev-php/pecl-raphf-2.0.1:7[php_targets_php8-0(-)?]
	net-dns/libidn2
	sys-libs/zlib
	ssl? ( net-misc/curl[ssl,curl_ssl_gnutls(-)=,curl_ssl_nss(-)=,curl_ssl_openssl(-)=] )
	!ssl? ( net-misc/curl[-ssl] )
"
DEPEND="
	php_targets_php8-0? ( ${COMMON_DEPEND} dev-lang/php:8.0[session(-),iconv(-)] )"
RDEPEND="${DEPEND}
	php_targets_php7-3? ( dev-php/pecl-http:7[php_targets_php7-3(-)] )
	php_targets_php7-4? ( dev-php/pecl-http:7[php_targets_php7-4(-)] )"

PHP_EXT_ECONF_ARGS=( --with-http --without-http-shared-deps --without-http-libidn-dir )

src_prepare() {
	if use php_targets_php8-0 ; then
		php-ext-source-r3_src_prepare
	else
		default_src_prepare
	fi

	# Respect LDFLAGS, bug 727134
	export EXTRA_LDFLAGS="${LDFLAGS}"
}

src_test() {
	# Cannot use eclass function due to required modules
	# All tests SKIP otherwise
	local slot
	for slot in $(php_get_slots); do
		php_init_slot_env "${slot}"

		# Link in required modules for testing
		ln -s "${EXT_DIR}/raphf.so" "modules/raphf.so" || die

		sed -i \
			's/PHP_TEST_SHARED_EXTENSIONS)/PHP_TEST_SHARED_EXTENSIONS) -d extension=raphf/' \
			Makefile || die

		SKIP_ONLINE_TESTS=yes NO_INTERACTION="yes" emake test

		# Clean up testing links
		rm modules/raphf.so || die
	done
}

src_install() {
	if use php_targets_php8-0 ; then
		php-ext-pecl-r3_src_install
	fi
}