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

EAPI=9

inherit autotools flag-o-matic git-r3

DESCRIPTION="A simple, lightweight C library for writing XMPP clients"
HOMEPAGE="https://strophe.im/libstrophe/"
EGIT_REPO_URI="https://github.com/strophe/${PN}.git"

LICENSE="|| ( MIT GPL-3 )"
# Track SONAME .1; older releases lacked one.
SLOT="0/0.1"
KEYWORDS=""
IUSE="doc expat gnutls"

RDEPEND="
	virtual/zlib:=
	expat? ( dev-libs/expat )
	!expat? ( dev-libs/libxml2:2= )
	gnutls? ( net-libs/gnutls:0= )
	!gnutls? ( dev-libs/openssl:0= )
"
DEPEND="${RDEPEND}"
BDEPEND="
	virtual/pkgconfig
	doc? ( app-text/doxygen )
"

DOCS=( ChangeLog )

src_prepare() {
	default
	# Live checkouts omit generated configure files.
	eautoreconf
}

src_configure() {
	# GCC 15 compatibility (bug #944913).
	append-cflags -std=gnu17
	local myeconf=(
		--enable-tls
		$(use_with !expat libxml2)
		$(use_with gnutls)
	)
	econf "${myeconf[@]}"
}

src_compile() {
	default
	if use doc; then
		doxygen || die
		HTML_DOCS=( docs/html/* )
	fi
}

src_install() {
	default
	use doc && dodoc -r examples
	find "${D}" -type f \( -name '*.la' -o -name '*.a' \) -delete || die
}