about summary refs log tree commit diff
path: root/pkgs/development/libraries/nghttp2
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/nghttp2')
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix6
-rw-r--r--pkgs/development/libraries/nghttp2/fix-stream-operator.patch63
2 files changed, 67 insertions, 2 deletions
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 471684ea7ddc..d4c859db2899 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -18,13 +18,15 @@ let inherit (stdenv.lib) optional; in
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.32.0";
+  version = "1.34.0";
 
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "0jlndbp4bnyvdg8b59pznrzz0bvwb9nmag7zgcflg51lm1pq2q06";
+    sha256 = "1l5rir8d73x97p3p1x4l8cawjc9m2adnippnb27fmrbcd3rfaxbl";
   };
 
+  patches = [ ./fix-stream-operator.patch /* can't fetchpatch during bootstrap */ ];
+
   outputs = [ "bin" "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/nghttp2/fix-stream-operator.patch b/pkgs/development/libraries/nghttp2/fix-stream-operator.patch
new file mode 100644
index 000000000000..7d8acde8ebc8
--- /dev/null
+++ b/pkgs/development/libraries/nghttp2/fix-stream-operator.patch
@@ -0,0 +1,63 @@
+From 153531d4d0ebe00ac95047dbf1fec1d9d694f29f Mon Sep 17 00:00:00 2001
+From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
+Date: Sun, 7 Oct 2018 22:19:00 +0900
+Subject: [PATCH] nghttpx: Use the same type as standard stream operator<<
+
+---
+ src/shrpx_log.cc |  4 ++--
+ src/shrpx_log.h  | 20 ++++++++++++++------
+ 2 files changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/src/shrpx_log.cc b/src/shrpx_log.cc
+index 8459d15e3..6966cf945 100644
+--- a/src/shrpx_log.cc
++++ b/src/shrpx_log.cc
+@@ -228,7 +228,7 @@ Log &Log::operator<<(const ImmutableString &s) {
+   return *this;
+ }
+ 
+-Log &Log::operator<<(int64_t n) {
++Log &Log::operator<<(long long n) {
+   if (n >= 0) {
+     return *this << static_cast<uint64_t>(n);
+   }
+@@ -262,7 +262,7 @@ Log &Log::operator<<(int64_t n) {
+   return *this;
+ }
+ 
+-Log &Log::operator<<(uint64_t n) {
++Log &Log::operator<<(unsigned long long n) {
+   if (flags_ & fmt_hex) {
+     write_hex(n);
+     return *this;
+diff --git a/src/shrpx_log.h b/src/shrpx_log.h
+index 1130b8da8..17b90536e 100644
+--- a/src/shrpx_log.h
++++ b/src/shrpx_log.h
+@@ -100,12 +100,20 @@ class Log {
+   Log &operator<<(const char *s);
+   Log &operator<<(const StringRef &s);
+   Log &operator<<(const ImmutableString &s);
+-  Log &operator<<(int16_t n) { return *this << static_cast<int64_t>(n); }
+-  Log &operator<<(int32_t n) { return *this << static_cast<int64_t>(n); }
+-  Log &operator<<(int64_t n);
+-  Log &operator<<(uint16_t n) { return *this << static_cast<uint64_t>(n); }
+-  Log &operator<<(uint32_t n) { return *this << static_cast<uint64_t>(n); }
+-  Log &operator<<(uint64_t n);
++  Log &operator<<(short n) { return *this << static_cast<long long>(n); }
++  Log &operator<<(int n) { return *this << static_cast<long long>(n); }
++  Log &operator<<(long n) { return *this << static_cast<long long>(n); }
++  Log &operator<<(long long n);
++  Log &operator<<(unsigned short n) {
++    return *this << static_cast<unsigned long long>(n);
++  }
++  Log &operator<<(unsigned int n) {
++    return *this << static_cast<unsigned long long>(n);
++  }
++  Log &operator<<(unsigned long n) {
++    return *this << static_cast<unsigned long long>(n);
++  }
++  Log &operator<<(unsigned long long n);
+   Log &operator<<(float n) { return *this << static_cast<double>(n); }
+   Log &operator<<(double n);
+   Log &operator<<(long double n);