From 685399c27dee4b2720d98267050257dd16f1ffc4 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Mon, 8 Jan 2024 20:38:14 +0100 Subject: [PATCH] gnu: Add nghttp3. * gnu/packages/web.scm (nghttp3): New variable. Change-Id: I4ed318506f6d3bdd0c47a367b1dcc1b4454c09b2 Signed-off-by: Mathieu Othacehe --- gnu/packages/web.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index c227b9e723..fa7fd7d154 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -65,6 +65,7 @@ ;;; Copyright © 2023 Christopher Howard ;;; Copyright © 2023 Felix Lechner ;;; Copyright © 2023 Evgeny Pisemsky +;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -8159,6 +8160,41 @@ compressed JSON header blocks. (("print \\(ver >= '3\\.8'\\)") "print (tuple(map(int, ver.split('.'))) >= (3,8))"))))))))))) +(define-public nghttp3 + (package + (name "nghttp3") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ngtcp2/nghttp3/" + "releases/download/v" version "/" + "nghttp3-" version ".tar.gz")) + (sha256 + (base32 + "1fzvadnwb03jlm180313gg5m4fg09qdcc67fwcfrv9zs22anaa55")))) + (build-system gnu-build-system) + (native-inputs + (list pkg-config + ;; Required by tests. + cunit)) + (arguments + (list + #:configure-flags + #~(list "--enable-lib-only"))) + (home-page "https://nghttp2.org/nghttp3/") + (synopsis "HTTP/3 protocol library") + (description + "nghttp3 is an implementation of RFC 9114 HTTP/3 mapping over QUIC and +RFC 9204 QPACK in C. It does not depend on any particular QUIC transport +implementation. + +It implements extensions specified in RFC 9218 and RFC 9220. It supports +SETTINGS_H3_DATAGRAM from RFC 9297. + +It does not support server push.") + (license license:expat))) + (define-public hpcguix-web (package (name "hpcguix-web")