summary refs log tree commit diff
path: root/pkgs/development/libraries/nghttp2
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-10-30 18:44:53 -0500
committerWill Dietz <w@wdtz.org>2018-10-30 18:44:53 -0500
commit950ff37115b5e67f1c228d069daf779e81364364 (patch)
tree9f4c78374a84768135da3f043f20f3e191e3f057 /pkgs/development/libraries/nghttp2
parent1b04d28df24d801b8558643350d6341b14fd7958 (diff)
downloadnixpkgs-950ff37115b5e67f1c228d069daf779e81364364.tar
nixpkgs-950ff37115b5e67f1c228d069daf779e81364364.tar.gz
nixpkgs-950ff37115b5e67f1c228d069daf779e81364364.tar.bz2
nixpkgs-950ff37115b5e67f1c228d069daf779e81364364.tar.lz
nixpkgs-950ff37115b5e67f1c228d069daf779e81364364.tar.xz
nixpkgs-950ff37115b5e67f1c228d069daf779e81364364.tar.zst
nixpkgs-950ff37115b5e67f1c228d069daf779e81364364.zip
nghttp2: grab upstream patch to hopefully fix darwin build error
Diffstat (limited to 'pkgs/development/libraries/nghttp2')
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix2
-rw-r--r--pkgs/development/libraries/nghttp2/fix-stream-operator.patch63
2 files changed, 65 insertions, 0 deletions
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index e1b4067b5c3..d4c859db289 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     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 00000000000..7d8acde8ebc
--- /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);