commit:     f2905ea0c5520904f24e2a93098bfa6ee42efa61
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 18 01:40:03 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 18 01:40:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2905ea0

net-libs/ngtcp2: build with autotools, not cmake

As with nghttp2 and nghttp3, there's a circular dependency with
cmake->curl->ngtcp2, so let's avoid that by building ngtcp2 with autotools.

Bug: https://bugs.gentoo.org/951524
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/ngtcp2/ngtcp2-1.11.0-r1.ebuild | 60 +++++++++++++++++++++++++++++++++
 net-libs/ngtcp2/ngtcp2-9999.ebuild      | 55 ++++++++++++++++--------------
 2 files changed, 90 insertions(+), 25 deletions(-)

diff --git a/net-libs/ngtcp2/ngtcp2-1.11.0-r1.ebuild 
b/net-libs/ngtcp2/ngtcp2-1.11.0-r1.ebuild
new file mode 100644
index 000000000000..1120f2fc5e63
--- /dev/null
+++ b/net-libs/ngtcp2/ngtcp2-1.11.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Built with autotools rather than cmake to avoid circular dep (bug #951524
+
+inherit multilib-minimal
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git";
+       inherit autotools git-r3
+else
+       
SRC_URI="https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz";
+
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~sparc ~x86"
+fi
+
+DESCRIPTION="Implementation of the IETF QUIC Protocol"
+HOMEPAGE="https://github.com/ngtcp2/ngtcp2";
+
+LICENSE="MIT"
+SLOT="0/0"
+IUSE="+gnutls openssl +ssl"
+REQUIRED_USE="ssl? ( || ( gnutls openssl ) )"
+
+RDEPEND="
+       ssl? (
+               gnutls? ( >=net-libs/gnutls-3.7.2:=[${MULTILIB_USEDEP}] )
+               openssl? ( >=dev-libs/openssl-1.1.1:=[${MULTILIB_USEDEP}] )
+       )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+       default
+       [[ ${PV} == 9999 ]] && eautoreconf
+}
+
+multilib_src_configure() {
+       local myeconfargs=(
+               --disable-werror
+               --enable-lib-only
+               $(use_with openssl)
+               $(use_with gnutls)
+               --without-boringssl
+               --without-picotls
+               --without-wolfssl
+               --without-libev
+               --without-libnghttp3
+               --without-jemalloc
+       )
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       find "${ED}"/usr -type f -name '*.la' -delete || die
+}

diff --git a/net-libs/ngtcp2/ngtcp2-9999.ebuild 
b/net-libs/ngtcp2/ngtcp2-9999.ebuild
index 0f374b9abbda..1120f2fc5e63 100644
--- a/net-libs/ngtcp2/ngtcp2-9999.ebuild
+++ b/net-libs/ngtcp2/ngtcp2-9999.ebuild
@@ -3,53 +3,58 @@
 
 EAPI=8
 
-inherit cmake-multilib
+# Built with autotools rather than cmake to avoid circular dep (bug #951524
+
+inherit multilib-minimal
 
 if [[ ${PV} == 9999 ]] ; then
        EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git";
-       inherit git-r3
+       inherit autotools git-r3
 else
        
SRC_URI="https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz";
+
        KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~sparc ~x86"
 fi
 
 DESCRIPTION="Implementation of the IETF QUIC Protocol"
-HOMEPAGE="https://github.com/ngtcp2/ngtcp2/";
+HOMEPAGE="https://github.com/ngtcp2/ngtcp2";
 
 LICENSE="MIT"
 SLOT="0/0"
-IUSE="+gnutls openssl +ssl static-libs test"
-# Without static-libs, src_test just won't run any tests and "pass".
-REQUIRED_USE="ssl? ( || ( gnutls openssl ) ) test? ( static-libs )"
+IUSE="+gnutls openssl +ssl"
+REQUIRED_USE="ssl? ( || ( gnutls openssl ) )"
 
-BDEPEND="virtual/pkgconfig"
 RDEPEND="
        ssl? (
                gnutls? ( >=net-libs/gnutls-3.7.2:=[${MULTILIB_USEDEP}] )
                openssl? ( >=dev-libs/openssl-1.1.1:=[${MULTILIB_USEDEP}] )
        )
 "
-DEPEND="
-       ${RDEPEND}
-       test? ( >=dev-util/cunit-2.1[${MULTILIB_USEDEP}] )
-"
-RESTRICT="!test? ( test )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+       default
+       [[ ${PV} == 9999 ]] && eautoreconf
+}
 
 multilib_src_configure() {
-       local mycmakeargs=(
-               -DENABLE_STATIC_LIB=$(usex static-libs)
-               -DENABLE_GNUTLS=$(usex gnutls)
-               -DENABLE_OPENSSL=$(usex openssl)
-               -DENABLE_BORINGSSL=OFF
-               -DENABLE_PICOTLS=OFF
-               -DENABLE_WOLFSSL=OFF
-               -DCMAKE_DISABLE_FIND_PACKAGE_Libev=ON
-               -DCMAKE_DISABLE_FIND_PACKAGE_Libnghttp3=ON
-               -DBUILD_TESTING=$(usex test)
+       local myeconfargs=(
+               --disable-werror
+               --enable-lib-only
+               $(use_with openssl)
+               $(use_with gnutls)
+               --without-boringssl
+               --without-picotls
+               --without-wolfssl
+               --without-libev
+               --without-libnghttp3
+               --without-jemalloc
        )
-       cmake_src_configure
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
 }
 
-multilib_src_test() {
-       cmake_build check
+multilib_src_install_all() {
+       einstalldocs
+       find "${ED}"/usr -type f -name '*.la' -delete || die
 }

Reply via email to