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 }
