Re: git: 7501ef4ccdc4 - main - net/libngtcp2-gnutls: Add libngtcp2-gnutls 1.7.0

From: Vladimir Druzenko <vvd_at_freebsd.org>
Date: Wed, 25 Sep 2024 23:08:29 UTC
25.09.2024 09:17, Po-Chuan Hsieh пишет:
> The branch main has been updated by sunpoet:
>
> URL:https://cgit.FreeBSD.org/ports/commit/?id=7501ef4ccdc4d2e59a6f2a3327325f7d8d27b0ca
>
> commit 7501ef4ccdc4d2e59a6f2a3327325f7d8d27b0ca
> Author:     Po-Chuan Hsieh<sunpoet@FreeBSD.org>
> AuthorDate: 2024-09-25 06:16:25 +0000
> Commit:     Po-Chuan Hsieh<sunpoet@FreeBSD.org>
> CommitDate: 2024-09-25 06:16:25 +0000
>
>      net/libngtcp2-gnutls: Add libngtcp2-gnutls 1.7.0
>      
>      ngtcp2 project is an effort to implement QUIC protocol which is now being
>      discussed in IETF QUICWG for its standardization.
>      
>      This port provides the crypto helper library for gnutls backend.
> ---
>   net/Makefile                                 |  1 +
>   net/libngtcp2-gnutls/Makefile                | 37 ++++++++++++++++++++++++++++
>   net/libngtcp2-gnutls/distinfo                |  3 +++
>   net/libngtcp2-gnutls/files/patch-Makefile.in | 13 ++++++++++
>   net/libngtcp2-gnutls/pkg-descr               |  4 +++
>   net/libngtcp2-gnutls/pkg-plist               |  5 ++++
>   6 files changed, 63 insertions(+)
>
> diff --git a/net/Makefile b/net/Makefile
> index f7376242a767..417aed020e2e 100644
> --- a/net/Makefile
> +++ b/net/Makefile
> @@ -396,6 +396,7 @@
>       SUBDIR += libnet
>       SUBDIR += libnfs
>       SUBDIR += libngtcp2
> +    SUBDIR += libngtcp2-gnutls
>       SUBDIR += libnids
>       SUBDIR += libnpupnp
>       SUBDIR += libnss-cache
> diff --git a/net/libngtcp2-gnutls/Makefile b/net/libngtcp2-gnutls/Makefile
> new file mode 100644
> index 000000000000..5c7f90d3e2d0
> --- /dev/null
> +++ b/net/libngtcp2-gnutls/Makefile
> @@ -0,0 +1,37 @@
> +PORTNAME=	ngtcp2
> +PORTVERSION=	1.7.0
> +CATEGORIES=	net
> +MASTER_SITES=	https://github.com/ngtcp2/ngtcp2/releases/download/v${PORTVERSION}/
> +PKGNAMEPREFIX=	lib
> +PKGNAMESUFFIX=	-gnutls
> +
> +MAINTAINER=	sunpoet@FreeBSD.org
> +COMMENT=	Implementation of QUIC protocol (gnutls backend)
> +WWW=		https://nghttp2.org/ngtcp2/ \
> +		https://github.com/ngtcp2/ngtcp2
> +
> +LICENSE=	MIT
> +LICENSE_FILE=	${WRKSRC}/COPYING
> +
> +BUILD_DEPENDS=	libngtcp2>=${PORTVERSION}<${PORTVERSION}_99:net/libngtcp2
> +LIB_DEPENDS=	libgnutls.so:security/gnutls
> +RUN_DEPENDS=	libngtcp2>=${PORTVERSION}<${PORTVERSION}_99:net/libngtcp2
> +
> +USES=		libtool pathfix pkgconfig tar:xz
> +
> +CONFIGURE_ARGS=	--enable-lib-only \
> +		--with-gnutls \
> +		--with-jemalloc \
> +		--without-boringssl \
> +		--without-libbrotlidec \
> +		--without-libbrotlienc \
> +		--without-libev \
> +		--without-libnghttp3 \
> +		--without-openssl \
> +		--without-wolfssl
> +GNU_CONFIGURE=	yes
> +INSTALL_TARGET=	install-strip
> +INSTALL_WRKSRC=	${WRKSRC}/crypto/gnutls
> +USE_LDCONFIG=	yes
> +
> +.include <bsd.port.mk>
>
> diff --git a/net/libngtcp2-gnutls/pkg-plist b/net/libngtcp2-gnutls/pkg-plist
> new file mode 100644
> index 000000000000..7348c09b91b4
> --- /dev/null
> +++ b/net/libngtcp2-gnutls/pkg-plist
> @@ -0,0 +1,5 @@
> +lib/libngtcp2_crypto_gnutls.a
> +lib/libngtcp2_crypto_gnutls.so
> +lib/libngtcp2_crypto_gnutls.so.8
> +lib/libngtcp2_crypto_gnutls.so.8.1.1
> +libdata/pkgconfig/libngtcp2_crypto_gnutls.pc

You missed very important files:
include/ngtcp2/ngtcp2_crypto.h
include/ngtcp2/ngtcp2_crypto_gnutls.h

Files required for build dns/knot3 with default option DOQ with external 
libngtcp2.

This option is "the issue": INSTALL_WRKSRC= ${WRKSRC}/crypto/gnutls

For more information check my patch in comment: 
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281038#c4 As a 
workaround we can use: post-install: ${MKDIR} 
${STAGEDIR}${PREFIX}/include/ngtcp2 ${INSTALL_DATA} 
${WRKSRC}/crypto/includes/ngtcp2/ngtcp2_crypto.h \ 
${STAGEDIR}${PREFIX}/include/ngtcp2 ${INSTALL_DATA} 
${WRKSRC}/crypto/includes/ngtcp2/ngtcp2_crypto_gnutls.h \ 
${STAGEDIR}${PREFIX}/include/ngtcp2

-- 
Best regards,
Vladimir Druzenko