Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 951524 - net-libs/nghttp3: switch to autotools for build (to avoid circular dependency with net-misc/curl, dev-build/cmake)
Summary: net-libs/nghttp3: switch to autotools for build (to avoid circular dependency...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Craig Andrews
URL:
Whiteboard:
Keywords:
Depends on: 951527
Blocks:
  Show dependency tree
 
Reported: 2025-03-18 00:00 UTC by Sam James
Modified: 2025-03-18 01:41 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-03-18 00:00:51 UTC
Hi!

Both nghttp2 and nghttp3 can be built with autotools rather than CMake because CMake itself depends on those.

Now that net-misc/curl defaults to +http2 +http3, this shows up as a circular dependency more often:

    (net-misc/curl-8.11.1-r2:0/0::gentoo, ebuild scheduled for merge) depends on
     (net-libs/nghttp3-1.7.0:0/0::gentoo, ebuild scheduled for merge) (buildtime)
      (dev-build/cmake-3.31.5:0/0::gentoo, ebuild scheduled for merge) (buildtime)
       (net-misc/curl-8.11.1-r2:0/0::gentoo, ebuild scheduled for merge) (buildtime)

voyageur has already ACKed me switching nghttp2 over to autotools again.

Is it fine if we do the same for nghttp3? Are you able to do it (shortly if possible), or do you want me to?

Thanks!
Comment 1 Craig Andrews gentoo-dev 2025-03-18 00:05:17 UTC
Switching to autotools is fine by me! The fewer circular dependencies the better.

Thank you!
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-03-18 00:07:00 UTC
Thank you for the very quick response! On it.
Comment 3 Larry the Git Cow gentoo-dev 2025-03-18 00:28:03 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0af2660f8316b3a3fc927f1e28522b13247b63aa

commit 0af2660f8316b3a3fc927f1e28522b13247b63aa
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-03-18 00:23:23 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-03-18 00:27:40 +0000

    net-libs/nghttp3: build with autotools, rather than cmake
    
    We need to use autotools rather than CMake here because of a circular
    dependency (ditto nghttp2):
    
    We need to use autotools rather than CMake here because of a circular
    dependency (ditto nghttp2):
    ```
    (net-misc/curl-8.11.1-r2:0/0::gentoo, ebuild scheduled for merge) depends on
      (net-libs/nghttp3-1.7.0:0/0::gentoo, ebuild scheduled for merge) (buildtime)
        (dev-build/cmake-3.31.5:0/0::gentoo, ebuild scheduled for merge) (buildtime)
          (net-misc/curl-8.11.1-r2:0/0::gentoo, ebuild scheduled for merge) (buildtime)
    ```
    
    Closes: https://bugs.gentoo.org/951524
    Signed-off-by: Sam James <sam@gentoo.org>

 net-libs/nghttp3/nghttp3-1.8.0-r1.ebuild | 41 ++++++++++++++++++++++++++++++++
 net-libs/nghttp3/nghttp3-9999.ebuild     | 37 ++++++++++++++--------------
 2 files changed, 59 insertions(+), 19 deletions(-)
Comment 4 Larry the Git Cow gentoo-dev 2025-03-18 00:31:20 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8d28c795e6d0dfbcd80172cb97776cab6a18de4

commit d8d28c795e6d0dfbcd80172cb97776cab6a18de4
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-03-18 00:30:53 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-03-18 00:30:53 +0000

    net-libs/nghttp3: add comment wrt circular dep
    
    Bug: https://bugs.gentoo.org/951524
    Signed-off-by: Sam James <sam@gentoo.org>

 net-libs/nghttp3/nghttp3-1.8.0-r1.ebuild | 2 ++
 net-libs/nghttp3/nghttp3-9999.ebuild     | 2 ++
 2 files changed, 4 insertions(+)
Comment 5 Larry the Git Cow gentoo-dev 2025-03-18 01:41:05 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2905ea0c5520904f24e2a93098bfa6ee42efa61

commit f2905ea0c5520904f24e2a93098bfa6ee42efa61
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-03-18 01:40:03 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-03-18 01:40:03 +0000

    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@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(-)