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

EAPI=8

inherit cmake

BORINGSSL_COMMIT="9fc1c33e9c21439ce5f87855a6591a9324e569fd"

DESCRIPTION="LiteSpeed QUIC (LSQUIC) Library"
HOMEPAGE="https://github.com/litespeedtech/lsquic/"
SRC_URI="
	https://github.com/litespeedtech/lsquic/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
	https://github.com/google/boringssl/archive/${BORINGSSL_COMMIT}.tar.gz -> boringssl-9fc1c.tar.gz
"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"

IUSE="test"
RESTRICT="!test? ( test )"

DEPEND="
	dev-lang/go
	dev-libs/ls-qpack:=
	dev-libs/ls-hpack:=
"
RDEPEND="
	${DEPEND}
	virtual/zlib:=
"

PATCHES=(
	"${FILESDIR}"/${PN}-disable-build-deps-libs.patch
	"${FILESDIR}"/${PN}-link-boringssl-static-libs-9fc1c.patch
	"${FILESDIR}"/${PN}-disable-override-flags.patch
	"${FILESDIR}"/${PN}-disable-boring-override-flags.patch
	"${FILESDIR}"/${PN}-c23.patch
)

src_unpack() {
	unpack ${P}.tar.gz
	unpack boringssl-9fc1c.tar.gz
	mv boringssl-${BORINGSSL_COMMIT} "${S}"/src/liblsquic/boringssl || die
}

src_configure() {
	local mycmakeargs=(
		-DLSQUIC_SHARED_LIB=ON
		-DLSQUIC_TESTS=$(usex test)
	)
	cmake_src_configure
}
