# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=9

COMPOSER_INSTALL_PATH="Amp/Socket"
PHP_REQ_USE="ipv6?,ssl"

inherit composer git-r3

DESCRIPTION="Non-blocking socket and TLS functionality for PHP"
HOMEPAGE="https://github.com/amphp/socket"
EGIT_REPO_URI="https://github.com/amphp/socket.git"

LICENSE="MIT"
SLOT="0"
IUSE="ipv6"

RDEPEND="dev-php/amphp-amp
	dev-php/amphp-byte-stream
	dev-php/amphp-dns
	dev-php/kelunik-certificate
	dev-php/league-uri
	dev-php/league-uri-interfaces
	dev-php/revolt-event-loop"

PATCHES=( "${FILESDIR}/${PN}"-2.4.0-tests-BindContextTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-CidrMatcherTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-ClientTlsContextTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-ConnectContextTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-FunctionsTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-IntegrationTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-InternetAddressTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-PendingAcceptErrorTest.patch
	"${FILESDIR}/${PN}"-2.4.0-tests-ServerTlsContextTest.patch )

composer_enable_tests phpunit

src_prepare() {
	composer_src_prepare

	edo pushd test/tls
	edo ./regenerate.sh
	edo popd
	use ipv6 || eapply "${FILESDIR}/${PN}"-2.4.0-tests-no-ipv6.patch
}