Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Apr 2026 11:44:49 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Vladimir Druzenko <vvd@FreeBSD.org>, ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Jaap Akkerhuis <jaap@NLnetLabs.nl>
Subject:   Re: git: 1773f41f3368 - main - dns/{ldns,p5-DNS-Ldns,py-ldns}: Update 1.8.4 => 1.9.0, improve port
Message-ID:  <75396bd6-6227-4683-b71b-a9f9bebce27f@FreeBSD.org>
In-Reply-To: <a5ceac6e-0a6c-4b11-b53f-a460cd1b1908@FreeBSD.org>
References:  <6941ebbd.21eea.59185546@gitrepo.freebsd.org> <a5ceac6e-0a6c-4b11-b53f-a460cd1b1908@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

On 4/8/26 11:33 AM, Bryan Drewery wrote:
> On 12/16/25 3:31 PM, Vladimir Druzenko wrote:
>> The branch main has been updated by vvd:
>>
>> URL: 
>> https://cgit.FreeBSD.org/ports/commit/?id=1773f41f3368362e3cb35cec01c8f980c16b394a
>>
>> commit 1773f41f3368362e3cb35cec01c8f980c16b394a
>> Author:     Jaap Akkerhuis <jaap@NLnetLabs.nl>
>> AuthorDate: 2025-12-16 23:29:09 +0000
>> Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
>> CommitDate: 2025-12-16 23:29:09 +0000
>>
>>      dns/{ldns,p5-DNS-Ldns,py-ldns}: Update 1.8.4 => 1.9.0, improve port
>>           Changelog:
>>      https://github.com/NLnetLabs/ldns/blob/1.9.0/Changelog
>>           Improve port:
>>      - Switch from "ifs" in goals to goals for options.
>>      - Remove old dead code - unused variable NO_GOST.
>>      - Fix warnings from portclippy.
>>      - Rework "if" for master and slave ports.
>>      - Sort pkg-plist.
>>           PR:             291573
>>      Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
>> ---
>>   dns/ldns/Makefile         | 126 +++---
>>   dns/ldns/distinfo         |   6 +-
>>   dns/ldns/files/patch-swig |  77 ----
>>   dns/ldns/pkg-plist        | 994 
>> +++++++++++++++++++++++-----------------------
>>   4 files changed, 558 insertions(+), 645 deletions(-)
>>
>> diff --git a/dns/ldns/Makefile b/dns/ldns/Makefile
>> index 7fe340e84f92..40aa1a73c173 100644
>> --- a/dns/ldns/Makefile
>> +++ b/dns/ldns/Makefile
>> @@ -1,5 +1,5 @@
>>   PORTNAME=    ldns
>> -DISTVERSION=    1.8.4
>> +DISTVERSION=    1.9.0
>>   CATEGORIES=    dns
>>   MASTER_SITES=    https://www.nlnetlabs.nl/downloads/ldns/ \
>>           LOCAL/ehaupt
>> @@ -12,10 +12,10 @@ LICENSE=    BSD3CLAUSE
>>   LICENSE_FILE=    ${WRKSRC}/LICENSE
>>     USES=        cpe gmake libtool perl5 ssl
>> -USE_PERL5=    build
>> +CPE_VENDOR=    nlnetlabs
>>   USE_LDCONFIG=    yes
>> +USE_PERL5=    build
>>   -CPE_VENDOR=    nlnetlabs
>>   GNU_CONFIGURE=    yes
>>   CONFIGURE_ARGS+=    --disable-dane-ta-usage \
>>               --with-ssl=${OPENSSLBASE}
>> @@ -24,93 +24,95 @@ MAKE_JOBS_UNSAFE=    yes
>>   .if ! (defined(BUILD_PYLDNS) || defined(BUILD_P5PERL))
>>   OPTIONS_DEFINE=        DOXYGEN DRILL EXAMPLES
>>   OPTIONS_DEFAULT=    DRILL
>> -
>> -DRILL_DESC=    With drill program
>> -
>>   .endif
>>   -DOXYGEN_BUILD_DEPENDS=    doxygen:devel/doxygen
>> -HTMLDOCS=        doc/html/*
>> -
>>   OPTIONS_DEFINE+=    DANETAUSAGE GOST RRTYPEAMTRELAY RRTYPEAVC 
>> RRTYPENINFO \
>>               RRTYPERKEY RRTYPETA
>>   +OPTIONS_SUB=        yes
>> +
>>   DANETAUSAGE_DESC=    Enable ta usage, requires openssl >= 1.1.0
>> +DRILL_DESC=        With drill program
>>   GOST_DESC=        GOST signatures enabled, requires openssl >= 1.0.0
>> +RRTYPEAMTRELAY_DESC=    Enable draft RR type amtrelay.
>> +RRTYPEAVC_DESC=        Enable draft RR type avc.
>>   RRTYPENINFO_DESC=    Enable draft RR type ninfo.
>>   RRTYPERKEY_DESC=    Enable draft RR type rkey.
>>   RRTYPETA_DESC=        Enable draft RR type ta.
>> -RRTYPEAVC_DESC=        Enable draft RR type avc.
>> -RRTYPEAMTRELAY_DESC=    Enable draft RR type amtrelay.
>> -
>> -OPTIONS_SUB=    yes
>>   -DANETAUSAGE_CONFIGURE_ENABLE=        dane-ta-usage
>>   DANETAUSAGE_IMPLIES=            RRTYPETA
>> +DANETAUSAGE_CONFIGURE_ENABLE=        dane-ta-usage
>> +DOXYGEN_BUILD_DEPENDS=            doxygen:devel/doxygen
>> +DRILL_CONFIGURE_WITH=            drill
>> +DRILL_INSTALL_TARGET=            install-drill
>> +EXAMPLES_CONFIGURE_WITH=        examples
>> +EXAMPLES_INSTALL_TARGET=        install-examples
>>   GOST_CONFIGURE_ENABLE=            gost
>> +RRTYPEAMTRELAY_CONFIGURE_ENABLE=    rrtype-amtrelay
>> +RRTYPEAVC_CONFIGURE_ENABLE=        rrtype-avc
>>   RRTYPENINFO_CONFIGURE_ENABLE=        rrtype-ninfo
>>   RRTYPERKEY_CONFIGURE_ENABLE=        rrtype-rkey
>>   RRTYPETA_CONFIGURE_ENABLE=        rrtype-ta
>> -RRTYPEAVC_CONFIGURE_ENABLE=        rrtype-avc
>> -RRTYPEAMTRELAY_CONFIGURE_ENABLE=    rrtype-amtrelay
>> -EXAMPLES_CONFIGURE_WITH=        examples
>> -DRILL_CONFIGURE_WITH=            drill
>> -DRILL_INSTALL_TARGET=            install-drill
>> -EXAMPLES_INSTALL_TARGET=        install-examples
>>     .if defined(BUILD_PYLDNS)
>> +
>> +PKGNAMEPREFIX=    ${PYTHON_PKGNAMEPREFIX}
>> +BUILD_DEPENDS+=    swig:devel/swig
>> +LIB_DEPENDS+=    libldns.so:dns/ldns
>>   USES+=        python
>>   USE_PYTHON=    flavors
>> -PKGNAMEPREFIX=    ${PYTHON_PKGNAMEPREFIX}
>> -ALL_TARGET=    pyldns
>> -INSTALL_TARGET=    install-pyldns
>>     CONFIGURE_ARGS+=    --with-pyldns
>> -LIB_DEPENDS+=        libldns.so:dns/ldns
>> -BUILD_DEPENDS+=        swig:devel/swig
>> -CFLAGS+=        -I${OPENSSLINC}
>> +
>> +ALL_TARGET=    pyldns
>> +INSTALL_TARGET=    install-pyldns
>> +CFLAGS+=    -I${OPENSSLINC}
>>     post-patch:
>>       @${REINPLACE_CMD} \
>>           -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' \
>>           ${WRKSRC}/Makefile.in
>> +post-install:
>> +# file /usr/local/lib/python3.11/site-packages/_ldns.so.3.6.0
>> +    ${STRIP_CMD} 
>> ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/site-packages/_ldns.so.3.6.0
>> +
>>   .elif defined(BUILD_P5PERL)
>> +
>> +PKGNAMEPREFIX=    p5-DNS-
>> +_BR_DEPENDS=    p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib \
>> +        p5-Test-Exception>=0:devel/p5-Test-Exception
>> +BUILD_DEPENDS=    ${_BR_DEPENDS}
>> +LIB_DEPENDS+=    libldns.so:dns/ldns
>> +RUN_DEPENDS=    ${_BR_DEPENDS}
>>   USES+=        perl5
>>   USE_PERL5=    build run
>> -PKGNAMEPREFIX=    p5-DNS-
>> +
>> +CONFIGURE_ARGS+=    --with-p5-dns-ldns
>>     ALL_TARGET=    p5-dns-ldns
>>   INSTALL_TARGET=    install-p5-dns-ldns
>>   -CONFIGURE_ARGS+=    --with-p5-dns-ldns
>> -RUN_DEPENDS= p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib \
>> -            p5-Test-Exception>=0:devel/p5-Test-Exception
>> -BUILD_DEPENDS=        ${RUN_DEPENDS}
>> -LIB_DEPENDS+=        libldns.so:dns/ldns
>> -
>>   post-patch:
>> -    ${SED} -i '' -e 
>> 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' ${WRKSRC}/Makefile.in
>> +    @${REINPLACE_CMD} \
>> +        -e 's=-I./include/ldns=-I${LOCALBASE}/include/ldns=' \
>> +        ${WRKSRC}/Makefile.in
>>     post-install:
>>       ${STRIP_CMD} 
>> ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/DNS/LDNS/LDNS.so
>> -.else
>> -ALL_TARGET=    all
>> -INSTALL_TARGET=    install-lib install-h install-config
>>   -.endif # BUILD_PYLDNS || BUILD_P5PERL
>> +.else # BUILD_PYLDNS || BUILD_P5PERL
>>   -.include <bsd.port.pre.mk>
>> -
>> -.if ! ${PORT_OPTIONS:MGOST}
>> -NO_GOST=    --disable-gost
>> -.endif
>> +ALL_TARGET=    all
>> +INSTALL_TARGET=    install-lib install-h install-config
>>   -.if ! (defined(BUILD_PYLDNS) || defined(BUILD_P5PERL))
>> +EXAMPLES_LIST=    ldns-chaos ldns-compare-zones ldns-dane ldns-dpa 
>> ldns-gen-zone ldns-key2ds \
>> +        ldns-keyfetcher ldns-keygen ldns-mx ldns-notify 
>> ldns-nsec3-hash \
>> +        ldns-read-zone ldns-resolver ldns-revoke ldns-rrsig 
>> ldns-signzone \
>> +        ldns-test-edns ldns-testns ldns-update ldns-verify-zone 
>> ldns-version \
>> +        ldns-walk ldns-zcat ldns-zsplit ldnsd
>>   -post-build:
>> -.if ${PORT_OPTIONS:MDOXYGEN}
>> +post-build-DOXYGEN-on:
>>       @(cd ${WRKSRC}; ${MAKE_CMD} doxygen)
>> -.endif
>>     post-install:
>>       ${INSTALL_DATA} ${WRKSRC}/packaging/libldns.pc \
>> @@ -120,28 +122,16 @@ post-install:
>>       ${INSTALL_MAN} ${WRKSRC}/doc/man/man3/ldns_*.3 \
>>           ${STAGEDIR}${PREFIX}/share/man/man3
>>       ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.3
>> -.if ${PORT_OPTIONS:MDRILL}
>> +
>> +post-install-DOXYGEN-on:
>> +    (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
>> +
>> +post-install-DRILL-on:
>>       ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/drill
>> -.endif
>> -.if ${PORT_OPTIONS:MEXAMPLES}
>> -    for p in ldns-chaos ldns-compare-zones ldns-dane ldns-dpa 
>> ldns-gen-zone ldns-key2ds \
>> -        ldns-keyfetcher ldns-keygen ldns-mx ldns-notify 
>> ldns-nsec3-hash \
>> -        ldns-read-zone ldns-resolver ldns-revoke ldns-rrsig 
>> ldns-signzone \
>> -        ldns-test-edns ldns-testns ldns-update ldns-verify-zone 
>> ldns-version \
>> -        ldns-walk ldns-zcat ldns-zsplit ldnsd; do \
>> -            ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/$$p; done
>> -.endif
>> -.if ${PORT_OPTIONS:MDOXYGEN}
>> -    ${MKDIR} ${STAGEDIR}${DOCSDIR}/html
>> -    ${INSTALL_DATA} ${HTMLDOCS:S|^|${WRKSRC}/|} 
>> ${STAGEDIR}${DOCSDIR}/html
>> -.endif
>>   -.endif # BUILD_PYLDNS || BUILD_P5PERL
>> +post-install-EXAMPLES-on:
>> +    ${STRIP_CMD} ${EXAMPLES_LIST:S|^|${STAGEDIR}${PREFIX}/bin/|}
>>   -.if (defined(BUILD_PYLDNS))
>> -post-install:
>> -# file /usr/local/lib/python3.11/site-packages/_ldns.so.3.6.0
>> -    ${STRIP_CMD} 
>> ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}/site-packages/_ldns.so.3.6.0
>> -.endif # BUILD_PYLDNS
>> +.endif # BUILD_PYLDNS || BUILD_P5PERL
>>   -.include <bsd.port.post.mk>
>> +.include <bsd.port.mk>
>> diff --git a/dns/ldns/distinfo b/dns/ldns/distinfo
>> index 901e4cbe566a..fa5bd3903f66 100644
>> --- a/dns/ldns/distinfo
>> +++ b/dns/ldns/distinfo
>> @@ -1,3 +1,3 @@
>> -TIMESTAMP = 1721549282
>> -SHA256 (ldns-1.8.4.tar.gz) = 
>> 838b907594baaff1cd767e95466a7745998ae64bc74be038dccc62e2de2e4247
>> -SIZE (ldns-1.8.4.tar.gz) = 1301058
>> +TIMESTAMP = 1764944929
>> +SHA256 (ldns-1.9.0.tar.gz) = 
>> abaeed2858fbea84a4eb9833e19e7d23380cc0f3d9b6548b962be42276ffdcb3
>> +SIZE (ldns-1.9.0.tar.gz) = 1305262
>> diff --git a/dns/ldns/files/patch-swig b/dns/ldns/files/patch-swig
>> deleted file mode 100644
>> index 9d93eddf8f58..000000000000
>> --- a/dns/ldns/files/patch-swig
>> +++ /dev/null
>> @@ -1,77 +0,0 @@
>> ---- contrib/python/ldns_buffer.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_buffer.i
>> -@@ -45,7 +45,7 @@
>> - /* Result generation, appends (ldns_buffer *) after the result. */
>> - %typemap(argout, noblock=1) (ldns_buffer **)
>> - {
>> --  $result = SWIG_Python_AppendOutput($result,
>> -+  $result = SWIG_AppendOutput($result,
>> -      SWIG_NewPointerObj(SWIG_as_voidptr($1_buf),
>> -        SWIGTYPE_p_ldns_struct_buffer, SWIG_POINTER_OWN | 0));
>> - }
>> ---- contrib/python/ldns_key.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_key.i
>> -@@ -38,7 +38,7 @@
>> - /* result generation */
>> - %typemap(argout,noblock=1) (ldns_key **)
>> - {
>> --  $result = SWIG_Python_AppendOutput($result, 
>> SWIG_NewPointerObj(SWIG_as_voidptr($1_key), 
>> SWIGTYPE_p_ldns_struct_key, SWIG_POINTER_OWN |  0 ));
>> -+  $result = SWIG_AppendOutput($result, 
>> SWIG_NewPointerObj(SWIG_as_voidptr($1_key), 
>> SWIGTYPE_p_ldns_struct_key, SWIG_POINTER_OWN |  0 ));
>> - }
>> -
>> - %typemap(argout) ldns_rdf *r "Py_INCREF($input);"
>> ---- contrib/python/ldns_packet.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_packet.i
>> -@@ -45,7 +45,7 @@
>> - /* Result generation, appends (ldns_pkt *) after the result. */
>> - %typemap(argout,noblock=1) (ldns_pkt **)
>> - {
>> --  $result = SWIG_Python_AppendOutput($result,
>> -+  $result = SWIG_AppendOutput($result,
>> -     SWIG_NewPointerObj(SWIG_as_voidptr($1_pkt),
>> -       SWIGTYPE_p_ldns_struct_pkt, SWIG_POINTER_OWN |  0 ));
>> - }
>> ---- contrib/python/ldns_rdf.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_rdf.i
>> -@@ -45,7 +45,7 @@
>> - /* Result generation, appends (ldns_rdf *) after the result. */
>> - %typemap(argout, noblock=1) (ldns_rdf **)
>> - {
>> --  $result = SWIG_Python_AppendOutput($result,
>> -+  $result = SWIG_AppendOutput($result,
>> -     SWIG_NewPointerObj(SWIG_as_voidptr($1_rdf),
>> -       SWIGTYPE_p_ldns_struct_rdf, SWIG_POINTER_OWN | 0));
>> - }
>> ---- contrib/python/ldns_resolver.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_resolver.i
>> -@@ -45,7 +45,7 @@
>> - /* Result generation, appends (ldns_resolver *) after the result. */
>> - %typemap(argout,noblock=1) (ldns_resolver **r)
>> - {
>> --  $result = SWIG_Python_AppendOutput($result,
>> -+  $result = SWIG_AppendOutput($result,
>> -     SWIG_NewPointerObj(SWIG_as_voidptr($1_res),
>> -       SWIGTYPE_p_ldns_struct_resolver, SWIG_POINTER_OWN |  0 ));
>> - }
>> ---- contrib/python/ldns_rr.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_rr.i
>> -@@ -45,7 +45,7 @@
>> - /* Result generation, appends (ldns_rr *) after the result. */
>> - %typemap(argout, noblock=1) (ldns_rr **)
>> - {
>> --  $result = SWIG_Python_AppendOutput($result,
>> -+  $result = SWIG_AppendOutput($result,
>> -     SWIG_NewPointerObj(SWIG_as_voidptr($1_rr),
>> -       SWIGTYPE_p_ldns_struct_rr, SWIG_POINTER_OWN |  0 ));
>> - }
>> ---- contrib/python/ldns_zone.i.orig    2024-07-20 05:07:42 UTC
>> -+++ contrib/python/ldns_zone.i
>> -@@ -39,7 +39,7 @@
>> - /* result generation */
>> - %typemap(argout,noblock=1) (ldns_zone **)
>> - {
>> -- $result = SWIG_Python_AppendOutput($result, 
>> SWIG_NewPointerObj(SWIG_as_voidptr($1_zone), 
>> SWIGTYPE_p_ldns_struct_zone, SWIG_POINTER_OWN |  0 ));
>> -+ $result = SWIG_AppendOutput($result, 
>> SWIG_NewPointerObj(SWIG_as_voidptr($1_zone), 
>> SWIGTYPE_p_ldns_struct_zone, SWIG_POINTER_OWN |  0 ));
>> - }
>> -
>> - %nodefaultctor ldns_struct_zone; //no default constructor & destructor
>> diff --git a/dns/ldns/pkg-plist b/dns/ldns/pkg-plist
>> index 9a3c308d5482..1d247c3ade05 100644
>> --- a/dns/ldns/pkg-plist
>> +++ b/dns/ldns/pkg-plist
>> @@ -63,503 +63,6 @@ lib/libldns.so
>>   lib/libldns.so.3
>>   lib/libldns.so.3.6.0
>>   libdata/pkgconfig/libldns.pc
>
> Something is wrong here. The shared library version should have gotten 
> a bump and ports chased.
>
> In its configure.ac it says:
>
>
> # ldns-1.8.3 has libversion 8:0:5
> # ldns-1.9.0 will have libversion 9:0:6 (new behaviour for 
> dnssec_rrs_add_rr)
> #
> AC_SUBST(VERSION_INFO, [9:0:6])

Looks like 1.8.4 bumped to the same version upstream. Sigh.

https://github.com/NLnetLabs/ldns/commit/b433f1af243a4297033fac085fe7f7fd9b850a85

-AC_SUBST(VERSION_INFO, [8:0:5])
+AC_SUBST(VERSION_INFO, [9:0:6])


>
>
> I had claude code chase down an error I was getting with opendnssec 
> which landed here.
>
>
>   > ldns 1.9.0 inserted LDNS_RDF_TYPE_INT64 at enum position 5, 
> shifting every subsequent value by +1. But the FreeBSD port kept the 
> shared library as libldns.so.3.6.0 — no
>   > SONAME bump — so OpenDNSSEC's binary wasn't flagged for rebuild 
> and still has the old 1.8.x enum constants baked in.
>
>
> Error I am seeing in opendnssec for the sake of google:
>
> > [adapter] error parsing RR at line 2 (Syntax error, could not parse 
> the RR's rdata)
>
>



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?75396bd6-6227-4683-b71b-a9f9bebce27f>