Add support for HTTP/2 to curl

  • Done
  • quality assurance status badge
Details
4 participants
  • Leo Famulari
  • Mark Meyer
  • Tobias Geerinckx-Rice
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Mark Meyer
Severity
normal
M
M
Mark Meyer wrote on 16 Dec 2017 19:12
(address . guix-patches@gnu.org)
1513447932.2411366.1207257248.22729BA6@webmail.messagingengine.com
Hi,
this patch adds HTTP/2 support to curl, this is a prerequisite to
closing bug#29733. I am aware that this will trigger about 2500 rebuilt
packages, but having HTTP/2 in curl seems to be worth the hassle.

Cheers, Mark

--
Mark Meyer
mark@ofosos.org
M
M
Mark Meyer wrote on 16 Dec 2017 19:14
Patch was missing
(address . 29738@debbugs.gnu.org)
1513448042.2412112.1207257864.7F983482@webmail.messagingengine.com
The patch is attached to this message.

Cheers, Mark

--
Mark Meyer
mark@ofosos.org
From c8b91fe40480f9c403d1294c9d6cdd76d62922fc Mon Sep 17 00:00:00 2001
From: Mark Meyer <mark@ofosos.org>
Date: Sat, 16 Dec 2017 19:02:10 +0100
Subject: [PATCH] gnu: Add http2 support to curl.

* gnu/packages/curl.scm (nghttp2): New variable.
* gnu/packages/curl.scm (curl)[inputs]: Add nghttp2
---
gnu/packages/curl.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 49703c092..d9c34aea4 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
#:use-module (gnu packages gsasl)
@@ -39,6 +41,30 @@
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls))
+(define-public nghttp2
+ (package
+ (name "nghttp2")
+ (version "1.28.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nghttp2/nghttp2/releases/download/v"
+ version "/nghttp2-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13gxk72manbmaaf3mahvihfw71zas1m7z8j2bs9s7v2dc403yv0d"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("cunit" ,cunit)))
+ (arguments
+ `(#:configure-flags '("--enable-lib-only")))
+ (synopsis "This is an implementation of HTTP version 2 in C")
+ (description "nghttp2 is an implementation of framing layer of HTTP/2 in
+reusable C library. On top of that, this library implements an HTTP/2 client,
+server and proxy. HPACK encoder and decoder are available as a public API.")
+ (license (license:non-copyleft "file://COPYING"
+ "See COPYING in the distribution."))
+ (home-page "https://nghttp2.org")))
+
(define-public curl
(package
(name "curl")
@@ -58,6 +84,7 @@
("gss" ,gss)
("libidn" ,libidn)
("libssh2" ,libssh2)
+ ("nghttp2" ,nghttp2)
("openldap" ,openldap)
("zlib" ,zlib)))
(native-inputs
--
2.15.1
R
R
Ricardo Wurmus wrote on 17 Dec 2017 07:31
Re: [bug#29738] Add support for HTTP/2 to curl
(name . Mark Meyer)(address . mark@ofosos.org)(address . 29738@debbugs.gnu.org)
878te1oofb.fsf@elephly.net
Hi Mark,

Toggle quote (4 lines)
> this patch adds HTTP/2 support to curl, this is a prerequisite to
> closing bug#29733. I am aware that this will trigger about 2500 rebuilt
> packages, but having HTTP/2 in curl seems to be worth the hassle.

We would make this change on the core-updates branch to avoid disrupting
the availability of substitutes, so rebuilding a large number of
packages is not a big problem. Does this patch apply on top of
core-updates?

About the patch: it would be better to separate the two changes. One
commit would add the nghttp2 package, the other would modify the curl
package. Could you please split the patch?

Since curl is used by a great number of packages we need to pay
attention to the size of the closure. How does adding nghttp2 to curl
affect the size of the closure of the curl package? (You can check with
“guix size”.)

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
M
M
Mark Meyer wrote on 17 Dec 2017 09:35
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 29738@debbugs.gnu.org)
1513499718.3586623.1207635016.7822479B@webmail.messagingengine.com
Hi Ricardo,
thanks for you feedback. The closure changes from 223.7 MiB to 224.5
MiB.

The patches attached apply cleanly to core-updates and split the change
into two components.

Cheers, Mark

On Sun, Dec 17, 2017, at 07:31, Ricardo Wurmus wrote:
Toggle quote (30 lines)
>
> Hi Mark,
>
> > this patch adds HTTP/2 support to curl, this is a prerequisite to
> > closing bug#29733. I am aware that this will trigger about 2500 rebuilt
> > packages, but having HTTP/2 in curl seems to be worth the hassle.
>
> We would make this change on the core-updates branch to avoid disrupting
> the availability of substitutes, so rebuilding a large number of
> packages is not a big problem. Does this patch apply on top of
> core-updates?
>
> About the patch: it would be better to separate the two changes. One
> commit would add the nghttp2 package, the other would modify the curl
> package. Could you please split the patch?
>
> Since curl is used by a great number of packages we need to pay
> attention to the size of the closure. How does adding nghttp2 to curl
> affect the size of the closure of the curl package? (You can check with
> “guix size”.)
>
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
> https://elephly.net
>
>


--
Mark Meyer
mark@ofosos.org
From 05c8f4a443ad62c013aa5e18b46979b985737dac Mon Sep 17 00:00:00 2001
From: Mark Meyer <mark@ofosos.org>
Date: Sat, 16 Dec 2017 19:02:10 +0100
Subject: [PATCH] gnu: Add nghttp2 support.

* gnu/packages/curl.scm (nghttp2): New variable.
---
gnu/packages/curl.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 3df8acc2c..741454978 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +30,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
#:use-module (gnu packages gsasl)
@@ -40,6 +42,30 @@
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls))
+(define-public nghttp2
+ (package
+ (name "nghttp2")
+ (version "1.28.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nghttp2/nghttp2/releases/download/v"
+ version "/nghttp2-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13gxk72manbmaaf3mahvihfw71zas1m7z8j2bs9s7v2dc403yv0d"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("cunit" ,cunit)))
+ (arguments
+ `(#:configure-flags '("--enable-lib-only")))
+ (synopsis "This is an implementation of HTTP version 2 in C")
+ (description "nghttp2 is an implementation of framing layer of HTTP/2 in
+reusable C library. On top of that, this library implements an HTTP/2 client,
+server and proxy. HPACK encoder and decoder are available as a public API.")
+ (license (license:non-copyleft "file://COPYING"
+ "See COPYING in the distribution."))
+ (home-page "https://nghttp2.org")))
+
(define-public curl
(package
(name "curl")
--
2.15.1
From d6d3320046de905ec3cf9c17dca133d01cc105e4 Mon Sep 17 00:00:00 2001
From: Mark Meyer <mark@ofosos.org>
Date: Sun, 17 Dec 2017 09:31:58 +0100
Subject: [PATCH] gnu: Add http2 support to curl.

* gnu/packages/curl.scm (curl)[inputs]: Add nghttp2.
---
gnu/packages/curl.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 741454978..077f330d2 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -84,6 +84,7 @@ server and proxy. HPACK encoder and decoder are available as a public API.")
("gss" ,gss)
("libidn" ,libidn)
("libssh2" ,libssh2)
+ ("nghttp2" ,nghttp2)
("openldap" ,openldap)
("zlib" ,zlib)))
(native-inputs
--
2.15.1
M
M
Mark Meyer wrote on 4 Jan 2018 18:29
Next core-updates cycle
(address . 29738@debbugs.gnu.org)
1515086998.2756923.1224339632.1E6AD813@webmail.messagingengine.com
Hi,
will this patch make it into the next core-updates cycle?

Cheers, Mark

--
Mark Meyer
mark@ofosos.org
L
L
Leo Famulari wrote on 4 Jan 2018 18:53
(name . Mark Meyer)(address . mark@ofosos.org)(address . 29738@debbugs.gnu.org)
20180104175333.GA8633@jasmine.lan
On Thu, Jan 04, 2018 at 06:29:58PM +0100, Mark Meyer wrote:
Toggle quote (3 lines)
> Hi,
> will this patch make it into the next core-updates cycle?

I saved them on my local core-updates-next staging branch, along with
some other changes for the next round.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlpOahwACgkQJkb6MLrK
fwiJ4w//fn+lQEBvNt/5NerT1Y7b1fVdNtDbEbXacYq5HQ1q2k27hJUVvyeVqouL
Ll6p56YEK55BoJZa4mPWUBsviiRNEHB5jkwWx/RepO6pkaSBktY3/pd2SdEoH04Q
kZhSMu/NYqnrmtvhs4hywVs0RuFMqstcm48jHonqlFWeYonyNAlfY3qMCg3fghm3
VJFjQhl7epiRLydJN/2q86tiDR3xA073MOUnjoQ1OOhi19pP3MbTGCYTUAuVq/uC
n1da1QnAcNUtlxhLYpNBx9zmEP4SxV0mvC4L42HqmzDj6f23yt9J03XrFocrbcRE
5N//KJHOUIktDNE00lmIyAonY7R3iPM0PhN9NdGzLVyBuXZH4hj0JZKEaJm3SWHc
x6osPvEcqMBrusE/MJalzivwOGQDfobi6emdcLCTSEprLQlYSrolQv6Pk6Au5mVA
Pa+67J8BTOvulOZ6GoIk/u/9Bbt0se++Huplo6gvT6YH6wI54eL/+2Wqdm1S9dL8
Iz28VpGzKx1DIeehvJXdvU9o5sxAegt5WSLVZ12HYnI/oG1/+OTkC95UFywIE5D2
IHrA5OUQbE5FzvyHzv00aXf26VqOqQdcqsc6uM5T7OV/2kxVVoYWnQpeJdgjc7bi
8VIza0HoYUOOFYOMN62dYaamXHR8I2UQPeU7clUTcl9xTYhHp/Y=
=7tLQ
-----END PGP SIGNATURE-----


T
T
Tobias Geerinckx-Rice wrote on 5 Jan 2018 01:54
(address . 29738@debbugs.gnu.org)
698050b4-f9ca-ad78-e5e3-e69996911c23@tobias.gr
Mark, Leo,

Leo Famulari wrote on 04/01/18 at 18:53:
Toggle quote (7 lines)
> On Thu, Jan 04, 2018 at 06:29:58PM +0100, Mark Meyer wrote:
>> Hi,
>> will this patch make it into the next core-updates cycle?
>
> I saved them on my local core-updates-next staging branch, along with
> some other changes for the next round.

So this week I decided to finally get my local h2 branch into shape (I'd
started it in November, but life gets in the way) and send it in. I'd
somehow missed Mark's original message in the meantime. I apologise;
duplicated work really sucks.

Now... I'm going to gingerly attach my version anyway, since it makes a
few different choices. And I spent too much time on that description,
damn it! :-)

Most importantly, this builds the entire nghttp2 package, not only the
core library required by curl. The tools that use it aren't just toys or
examples as in some other packages. I use them regularly.

By splitting it into multiple outputs, the closure size for curl with
HTTP/2 support only increases by .5 MiB (same as Mark's patch).

I put nghttp2 in web.scm, since it's not curl-related. In any case,
adding nghttp2 itself doesn't need to pass through core-updates first.

Also note that the licence is really l:expat, not l:non-copyleft.

Thanks for working on this, and sorry again for not noticing it sooner,

T G-R
From 8a675465f0456f08d86a3d25dc8ec442d727dc2a Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Thu, 4 Jan 2018 15:27:03 +0000
Subject: [PATCH] gnu: Add nghttp2.

* gnu/packages/web.scm (nghttp2): New public variable.
---
gnu/packages/web.scm | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)

Toggle diff (111 lines)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f67f415d2..89f36f218 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -58,6 +58,7 @@
#:use-module (guix build-system ant)
#:use-module (guix build-system scons)
#:use-module (gnu packages)
+ #:use-module (gnu packages adns)
#:use-module (gnu packages apr)
#:use-module (gnu packages check)
#:use-module (gnu packages cran)
@@ -81,9 +82,11 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages java)
#:use-module (gnu packages javascript)
+ #:use-module (gnu packages jemalloc)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages lua)
#:use-module (gnu packages markup)
@@ -6214,3 +6217,84 @@ features include:
@item logging with multiple log levels.
@end enumerate\n")
(license l:expat)))
+
+(define-public nghttp2
+ (package
+ (name "nghttp2")
+ (version "1.28.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nghttp2/nghttp2/"
+ "releases/download/v" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13gxk72manbmaaf3mahvihfw71zas1m7z8j2bs9s7v2dc403yv0d"))))
+ (build-system gnu-build-system)
+ (outputs (list "out"
+ "lib")) ; only libnghttp2
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+
+ ;; Required by tests.
+ ("cunit" ,cunit)
+ ("tzdata" ,tzdata)))
+ (inputs
+ ;; Required to build the tools (i.e. without ‘--enable-lib-only’).
+ `(("c-ares" ,c-ares)
+ ("jansson" ,jansson) ; for HPACK tools
+ ("jemalloc" ,jemalloc) ; fight nghttpd{,x} heap fragmentation
+ ("libev" ,libev)
+ ("libxml2" ,libxml2) ; for ‘nghttp -a’
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--libdir=" (assoc-ref %outputs "lib") "/lib")
+ "--enable-app" ; build all the tools
+ "--enable-hpack-tools" ; ...all the tools
+ "--disable-examples"
+ "--disable-static") ; don't bother building .a files
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'break-circular-reference
+ ;; libnghttp2.pc by default retains a reference to the ‘out’ output,
+ ;; which is not allowed. Break this cycle. While we could install
+ ;; only the library to ‘out’ and move everything else to a separate
+ ;; output, this would inconvenience the majority of (human) users.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "lib/libnghttp2.pc.in"
+ (("@prefix@")
+ (assoc-ref outputs "lib")))
+ #t))
+ (add-before 'check 'set-timezone-directory
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ #t)))))
+ (home-page "https://nghttp2.org/")
+ (synopsis "HTTP/2 protocol client, proxy, server, and library")
+ (description
+ "nghttp2 implements the Hypertext Transfer Protocol, version
+2 (@dfn{HTTP/2}).
+
+A reusable C library provides the HTTP/2 framing layer, with several tools built
+on top of it:
+
+@enumerate
+@item @command{nghttp}, a command-line HTTP/2 client. It exposes many advanced
+and low-level aspects of the protocol and is useful for debugging.
+@item @command{nghttpd}, a fast, multi-threaded HTTP/2 static web server that
+serves files from a local directory.
+@item @command{nghttpx}, a fast, multi-threaded HTTP/2 reverse proxy that can be
+deployed in front of existing web servers that don't support HTTP/2.
+Both @command{nghttpd} and @command{nghttpx} can fall back to HTTP/1.1 for
+backwards compatibilty with clients that don't speak HTTP/2.
+@item @command{h2load} for benchmarking (only!) your own HTTP/2 servers.
+@item HTTP/2 uses a header compression method called @dfn{HPACK}.
+nghttp2 provides a HPACK encoder and decoder as part of its public API.
+@item @command{deflatehd} converts JSON data or HTTP/1-style header fields to
+compressed JSON header blocks.
+@item @command{inflatehd} converts such compressed headers back to JSON pairs.
+@end enumerate\n")
+ (license l:expat)))
--
2.15.0
Attachment: signature.asc
T
T
Tobias Geerinckx-Rice wrote on 5 Jan 2018 02:59
(address . 29738@debbugs.gnu.org)
373f605e-100b-5c3c-9bf8-adef4f6b19ac@tobias.gr
Tobias Geerinckx-Rice wrote on 05/01/18 at 01:54:
Toggle quote (2 lines)
> So this week I decided to finally get my local h2 branch into shape

Sigh. Now with the correct, up-to-date patch and gnurl support.

Kind regards,

T G-R
From af5d8eabbfd40a46e70b5b28bfa4a5705f8338ed Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Thu, 4 Jan 2018 22:49:22 +0000
Subject: [PATCH 2/2] gnu: gnurl: Add HTTP/2 support.

* gnu/packages/gnunet.scm (gnurl)[inputs]: Add nghttp2:lib.
---
gnu/packages/gnunet.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (22 lines)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 2d238febc..8bccf263b 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -197,6 +198,7 @@ authentication and support for SSL3 and TLS.")
"doc")) ; 1.5 MiB of man3 pages
(inputs `(("gnutls" ,gnutls/dane)
("libidn" ,libidn)
+ ("nghttp2" ,nghttp2 "lib")
("zlib" ,zlib)))
(native-inputs
`(("libtool" ,libtool)
--
2.15.0
Attachment: signature.asc
L
L
Leo Famulari wrote on 6 Jan 2018 19:59
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
20180106185937.GA29853@jasmine.lan
On Fri, Jan 05, 2018 at 01:54:02AM +0100, Tobias Geerinckx-Rice wrote:
Toggle quote (5 lines)
> So this week I decided to finally get my local h2 branch into shape (I'd
> started it in November, but life gets in the way) and send it in. I'd
> somehow missed Mark's original message in the meantime. I apologise;
> duplicated work really sucks.

No worries!

Toggle quote (8 lines)
> Now... I'm going to gingerly attach my version anyway, since it makes a
> few different choices. And I spent too much time on that description,
> damn it! :-)
>
> Most importantly, this builds the entire nghttp2 package, not only the
> core library required by curl. The tools that use it aren't just toys or
> examples as in some other packages. I use them regularly.

Okay, this sounds like a more complete package.

Can you keep it yourself for the next core-updates cycle? And I'll
remove Mark's from my branch.

Mark, what do you think of Tobias's patch?
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlpRHJYACgkQJkb6MLrK
fwjq5xAAgawodkmnnBMsyTLb5mKsS2/5DrLNaA5pbUDDAf6/59eGUgUqrqvWw15N
XjP7l0kvi+ZNE8ZJcLvnUtV/u+17xTVeXLER3RLFQRlsB7u2BcJDNwckniBld8+N
I0e6ryU6vgFhZB2z0ke6Vowiq5X9pQB1RAQwmi7xkY++iM1jIqAH7PXICaerzuP4
XykefiXluAD9dfHhV7saxeFRmcPAo5jEt6iH1K1jQx6XfUMn3AYKoBZzmhpsUrRu
QJH3X5rD+UxmpIVP54REPizEMSA2ZYULIGaiM4LtJ8Y3wGSHmd1t836eTM0BTnjL
M36Nm7tseCzjDkom3ME/RHuoLL8UaFqfESFx0+IWznJ2WPA58VG55dzHLcE4sPnf
E5sA8vcht85j6sgbGnQZb3Hr4sFK2KE/x7rR7AX8A5v0uK1RTwnG5jnRwgU5Fr+s
h5qfArizUXwnVatKsuHDvH/VCR0CrbDp+DCBy6tijnIekXXgxUovs1QsjJWaPQPX
6qENG5OLsN2yfQFfPXFhpAX316LUqH6iFIi+Wl7vDyXpHm96xEKkAbzqhthJMbjE
KUtgSdygbS51hEjwV+CiQwIe2iunDi0ipeMsc8OjBDEjD1Q3xlGtypfKRPpFV3XM
SQoUMJ9q4ranPIeHcq0miUXLIgR3Jb9TpPqEHhnvG0w/sIYzCKE=
=8iFD
-----END PGP SIGNATURE-----


M
M
Mark Meyer wrote on 6 Jan 2018 20:03
(address . 29738@debbugs.gnu.org)
1515265397.2093192.1226444360.2F96E977@webmail.messagingengine.com
Looks good!

Thanks for the work.

Cheers, Mark

On Sat, Jan 6, 2018, at 19:59, Leo Famulari wrote:
Toggle quote (27 lines)
> On Fri, Jan 05, 2018 at 01:54:02AM +0100, Tobias Geerinckx-Rice wrote:
> > So this week I decided to finally get my local h2 branch into shape (I'd
> > started it in November, but life gets in the way) and send it in. I'd
> > somehow missed Mark's original message in the meantime. I apologise;
> > duplicated work really sucks.
>
> No worries!
>
> > Now... I'm going to gingerly attach my version anyway, since it makes a
> > few different choices. And I spent too much time on that description,
> > damn it! :-)
> >
> > Most importantly, this builds the entire nghttp2 package, not only the
> > core library required by curl. The tools that use it aren't just toys or
> > examples as in some other packages. I use them regularly.
>
> Okay, this sounds like a more complete package.
>
> Can you keep it yourself for the next core-updates cycle? And I'll
> remove Mark's from my branch.
>
> Mark, what do you think of Tobias's patch?
> Email had 1 attachment:
> + signature.asc
> 1k (application/pgp-signature)


--
Mark Meyer
mark@ofosos.org
T
T
Tobias Geerinckx-Rice wrote on 6 Jan 2018 22:23
(address . leo@famulari.name)
6f67b89d-f6bd-c8c0-fa79-dff3b9d64883@tobias.gr
Mark, Leo,

Leo Famulari wrote on 06/01/18 at 19:59:
Toggle quote (10 lines)
> On Fri, Jan 05, 2018 at 01:54:02AM +0100, Tobias Geerinckx-Rice wrote:
>> Most importantly, this builds the entire nghttp2 package, not only the
>> core library required by curl. The tools that use it aren't just toys or
>> examples as in some other packages. I use them regularly.
>
> Okay, this sounds like a more complete package.
>
> Can you keep it yourself for the next core-updates cycle? And I'll
> remove Mark's from my branch.

OK. I'll push nghttp2 and the gnurl patch to master in a few days, and
keep HTTP/2 curl in my core-updates-next. Thanks!

Kind regards,

T G-R
Attachment: signature.asc
T
T
Tobias Geerinckx-Rice wrote on 14 Mar 2018 18:17
Re: Add support for HTTP/2 to curl
(address . 29738-done@debbugs.gnu.org)
aa7f1a0e16d8351917d0728e4add2634@tobias.gr
Done: HTTP/2 support is enabled for curl in core-updates now that
nghttp2 has landed there.

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 29738@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 29738
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch